Java BufferedWriter无法重新启动

Java BufferedWriter无法重新启动,java,csv,Java,Csv,我正在使用java bufferedwriter写入csv文件。每次运行程序时,数据都会正确写入文件,但以前运行的数据仍会在文件中找到 每次在bufferwriter再次启动之前,我都需要将文件清空 我已经尝试过使用flush()方法了 有人有什么建议吗?以下是我的代码 if (!file.exists()) { file.createNewFile(); } FileWriter fw = new FileWriter(file.getAbsoluteFile

我正在使用java bufferedwriter写入csv文件。每次运行程序时,数据都会正确写入文件,但以前运行的数据仍会在文件中找到

每次在bufferwriter再次启动之前,我都需要将文件清空

我已经尝试过使用flush()方法了

有人有什么建议吗?以下是我的代码

if (!file.exists()) {
file.createNewFile();
                }

FileWriter fw = new FileWriter(file.getAbsoluteFile(),true);
BufferedWriter bw = new BufferedWriter(fw);
bw.newLine();
bw.append(" " + epochs);
bw.append(",");
bw.append("badfact" + badfacts);
bw.flush();
bw.close();
}

您需要执行以下操作:

FileWriter fw = new FileWriter(file.getAbsoluteFile(), false);
FileWriter
构造函数中的第二个参数用于追加


如果为
true
,则数据将附加到文件中以前的数据中。如果
false
则将删除以前的数据并写入新数据。

您需要执行以下操作:

FileWriter fw = new FileWriter(file.getAbsoluteFile(), false);
FileWriter(String fileName, boolean append)
FileWriter
构造函数中的第二个参数用于追加

如果为
true
,则数据将附加到文件中以前的数据中。如果
false
则将删除以前的数据并写入新数据

FileWriter(String fileName, boolean append)
构造一个FileWriter对象,给定一个文件名,该文件名带有一个布尔值,指示是否追加写入的数据

参数:
文件名-将依赖于系统的文件名设置为字符串。
追加-布尔值如果为true,则数据将写入文件的末尾而不是开头

修改代码:必须为append参数提供假值

FileWriter fw = new FileWriter(file.getAbsoluteFile(),false);
构造一个FileWriter对象,给定一个文件名,该文件名带有一个布尔值,指示是否追加写入的数据

参数:
文件名-将依赖于系统的文件名设置为字符串。
追加-布尔值如果为true,则数据将写入文件的末尾而不是开头

修改代码:必须为append参数提供假值

FileWriter fw = new FileWriter(file.getAbsoluteFile(),false);

正如@GPRathour所回答的,第二个参数用于附加到文件

FileWriter fw = new FileWriter(file.getAbsoluteFile(),true);
我只是想补充一点,1参数调用相当于
append=false
,因此您也可以使用它

FileWriter fw = new FileWriter(file.getAbsoluteFile());

正如@GPRathour所回答的,第二个参数用于附加到文件

FileWriter fw = new FileWriter(file.getAbsoluteFile(),true);
我只是想补充一点,1参数调用相当于
append=false
,因此您也可以使用它

FileWriter fw = new FileWriter(file.getAbsoluteFile());

flush()
仅将数据(如果存在)从
BufferedWriter
中推出。您应该接受回答,让其他人知道什么对您有效。这是一个很好的做法。
flush()
仅将数据(如果存在)从
BufferedWriter
中推出。您应该接受答案,让其他人知道什么对您有效。这是一个很好的练习。谢谢你的帮助。我试过你的建议,它的工作原理是不再追加,但我只得到一行数据。。。我以前有大约350行数据,现在它只写它应该写的最后一个字符串…谢谢你的帮助。我试过你的建议,它的工作原理是不再追加,但我只得到一行数据。。。我以前有大约350行数据,现在它只写它应该写的最后一个字符串。。。