PrintWriter append方法未附加
这不会编译,以下方法只会写出我添加的最新项目,而不会追加到以前的条目中。我究竟做错了什么?
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("sdf");
pw.close();
} catch (FileNotFoundException e) {...}
}
回答:
PrintWriter
调用方法的事实append()
并不意味着它会更改正在打开的文件的模式。
你还需要以附加模式打开文件:
PrintWriter pw = new PrintWriter(new FileOutputStream( new File("persons.txt"),
true /* append = true */));
另请注意,文件将以系统默认编码写入。并非总是如此,它可能会导致互操作性问题,你可能需要明确指定文件编码。
以上是 PrintWriter append方法未附加 的全部内容, 来源链接: utcz.com/qa/415773.html