我的问题与this one有关。但是,我正在寻找一种方法来将文本文件追加到几次运行。有没有办法将控制台输出写入文本文件而不删除旧的运行信息?我正在研究30多个课程,更改System.out.println
语句会很繁琐,所以我更喜欢坚持使用System.setOut
解决方案。
我有以下基于@Mac答案的代码
PrintStream out = new PrintStream(new FileOutputStream("aa.txt"),true);
System.setOut(out);
但文件aa.txt
没有附加结果,我在这里遗漏了什么吗?
答案 0 :(得分:5)
为文件创建FileWriter
或FileOutputStream
时,将true
作为第二个参数传递给FileWriter
或FileOutputStream
的构造函数。< / p>
FileWriter(File file, boolean append)
答案 1 :(得分:3)
FileWriter
和FileOutputStream
为构造函数提供append
标记。只需相应地修改引用的代码
答案 2 :(得分:3)
您应该使用:
PrintStream out = new PrintStream(new FileOutputStream("output.txt"),true);
System.setOut(out);