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