Java 如何保存每个输入而不必每次重新保存以前的输入
在尝试将用户输入保存到文件而不覆盖以前的输入时,我发现每次保存新条目并退出程序后,下一次运行程序并查看文本文件时,上一条条目的上一个数据都会重复,或者我应该说是在最后一次文件保存的基础上再次保存。有人知道为什么程序没有只保存最后一个文件,而只是将自己添加到以前的文件中吗?我会感谢任何帮助,这可能真的很简单,但我自己看不出有什么问题,谢谢 下面是我必须保存输入的代码Java 如何保存每个输入而不必每次重新保存以前的输入,java,Java,在尝试将用户输入保存到文件而不覆盖以前的输入时,我发现每次保存新条目并退出程序后,下一次运行程序并查看文本文件时,上一条条目的上一个数据都会重复,或者我应该说是在最后一次文件保存的基础上再次保存。有人知道为什么程序没有只保存最后一个文件,而只是将自己添加到以前的文件中吗?我会感谢任何帮助,这可能真的很简单,但我自己看不出有什么问题,谢谢 下面是我必须保存输入的代码 try { FileWriter fw = new FileWriter("EventsList.txt", true);
try {
FileWriter fw = new FileWriter("EventsList.txt", true);
PrintWriter pw = new PrintWriter(fw);
for (Events e : event) {
pw.println(Integer.toString(e.getRefNo()));
pw.println(e.getDate());
pw.println(e.getArtist());
pw.println(e.getVenue());
pw.println(e.getCity());
pw.println(Double.toString(e.getTicketCost()));
pw.println(Integer.toString(e.getQuantity()));
}
pw.close(); // close output stream
} catch (FileNotFoundException e) {
e.printStackTrace();
System.out.println("Error!");
}
break;
将true作为第二个参数传递给PrintWriter以打开“附加”模式
第二个参数是“autoFlash”,而不是“append”。我尝试了这个方法,但当我在保存一个新条目后退出程序,然后重新运行程序时,文件保存了新条目,但仍然再次保存了以前的条目。再看一看,在第二个参数中打开append模式是正确的,正如您所说的Spierz,但是我还需要从filewriter中删除true,因为这是导致问题的原因。谢谢大家的帮助。
PrintWriter pw = new PrintWriter(fw, true);