我有一个将数据写入文件的应用程序。我第一次运行它,它会变大并将1000个值写入文件。然后我使用此代码关闭应用程序
finish();
System.exit(0);
当我按下停止按钮时会发生这种情况。
当我在停止后再次运行它时,比如几分钟,它只会在同一时间段内将一些值写入新文件。
以下是我用来写入文件的代码:
public void write(String message) {
try {
if (out == null) {
FileWriter datawriter = new FileWriter(file, true);
out = new BufferedWriter(datawriter);
//out.write("X Value, Y Value, Z Value \n");
}
if (file.exists()) {
out.append(message);
out.flush();
}
非常感谢任何有关为何发生这种情况的见解。
谢谢
答案 0 :(得分:0)
完成后out.close()
。它可能是一个恶化的系统。
答案 1 :(得分:0)
不要打电话
System.exit(0);
阅读this post以了解原因。
另外,在致电flush()
之前,您不应该在完成任务后致电close()
,而只需致finish()
。
尝试使用此代码:
public void write(String message) {
try {
if (out == null) {
FileWriter datawriter = new FileWriter(file, true);
out = new BufferedWriter(datawriter);
}
out.append(message);
out.flush();
} catch (IOException e) {
e.printStackTrace();
}
}