PrintWriter调用方法的事实
append()并不意味着它会更改正在打开的文件的模式。
你还需要以附加模式打开文件:
PrintWriter pw = new PrintWriter(new FileOutputStream( new File("persons.txt"), true )); 另请注意,文件将以系统默认编码写入。并非总是如此,它可能会导致互操作性问题,你可能需要明确指定文件编码。

PrintWriter调用方法的事实
append()并不意味着它会更改正在打开的文件的模式。
你还需要以附加模式打开文件:
PrintWriter pw = new PrintWriter(new FileOutputStream( new File("persons.txt"), true )); 另请注意,文件将以系统默认编码写入。并非总是如此,它可能会导致互操作性问题,你可能需要明确指定文件编码。