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(p.toString());

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

回到顶部