以下方法只写出我添加的最新项目,它不会附加到以前的条目。我究竟做错了什么?
public void addNew() {
try {
PrintWriter pw = new PrintWriter(new File("persons.txt"));
int id = Integer.parseInt(jTextField.getText());
String name = jTextField1.getText();
String surname = jTextField2.getText();
Person p = new Person(id,name,surname);
pw.append(p.toString());
pw.append("sdf");
pw.close();
} catch (FileNotFoundException e) {...}
}
原文由 snnlankrdsm 发布,翻译遵循 CC BY-SA 4.0 许可协议
PrintWriter
的方法被称为append()
的事实并不意味着它改变了正在打开的文件的模式。您还需要以追加模式打开文件:
另请注意,文件将以系统默认编码编写。它并不总是需要的,并且可能会导致互操作性问题,您可能需要明确指定文件编码。