该应用程序记录传感器数据并将数据写入 .txt 文件到手机 SD 卡中。
在数据采集过程中,可以随时按下停止键停止写入。
相关写作部分如下:
myFile = new File("/sdcard/ResearchData/"
+ txtData.getText() + ".txt");
myFile.createNewFile();
fOut = new FileOutputStream(myFile);
myOutWriter = new OutputStreamWriter(fOut);
myBufferedWriter = new BufferedWriter(myOutWriter);
myPrintWriter = new PrintWriter(myBufferedWriter);
myPrintWriter.write(currentTime - startTime + " " + acceleration[0]
+ " " + acceleration[1] + " " + acceleration[2] + "\n");
一旦按下 STOP 按钮,就会执行以下代码。
myOutWriter.close();
fOut.close();
代码运行正常,但唯一的问题是,因为任何时候都可以按 STOP,所以 .txt 文件的最后一行始终是 INCOMPLETE。由于需要进行数据分析,我需要数据是一个很好的矩形矩阵。因此,我需要删除最后一个不完整的行。我该怎么做?
或者从另一个角度解决这个问题。我可以让 STOP 按钮与写入过程同步吗?即,在完全写入一行之后,检查STOP。