在尝试将用户的输入保存到文件而不覆盖先前的输入时,Ive发现,每次保存新条目并退出程序后,下次运行该程序并查看文本文件时,先前的数据最后一个条目重复了一次,或者我应该说在最后一次文件保存的顶部再次保存。谁能看到该程序为什么不只保存最后一个文件,而是将其自身添加到以前的文件中的原因?我将不胜感激,它可能真的很简单,但是看不到我自己的问题,谢谢。
下面是我必须保存输入的代码
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以打开“附加”模式。
PrintWriter pw = new PrintWriter(fw, true);
关于java - 如何保存每个输入而不每次都保存以前的输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30411262/