应用程序不断记录传感器数据并将其写入手机SD卡中的.txt文件。在写入数据时,一切都很好。
我有一个停止按钮。按下按钮后,录制将结束,最后一行将附加到文件的最后。
但我总是没有追加最后一行。
我调试了很长时间。代码确实运行了先追加最后一行然后关闭所有编写器的命令。
请帮忙!
// stop button
stopButton = (Button) findViewById(R.id.button6);
stopButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// intend to append the final line
myPrintWriter.flush();
myPrintWriter.write("This is the final line");
try {
myOutWriter.flush();
myOutWriter.close();
} catch (IOException e) {
e.printStackTrace();
} catch (NullPointerException e) {
e.printStackTrace();
}
try {
fOut.flush();
fOut.close();
} catch (IOException e) {
e.printStackTrace();
} catch (NullPointerException e) {
e.printStackTrace();
}
}
});
答案 0 :(得分:0)
整个代码可以简化为以下(适当的尝试捕获)。其余的是不必要的。
// intend to append the final line
myPrintWriter.write("This is the final line");
myPrintWriter.flush();
myPrintWriter.close();
在printwriter上调用close会关闭底层作家。
答案 1 :(得分:0)
添加以下内容而非您的
myPrintWriter.append("This is the final line");
myPrintWriter.close();