Java 将多次运行的控制台输出写入文本文件

Java 将多次运行的控制台输出写入文本文件,java,Java,我的问题是关于。但是,我正在寻找一种方法,可以在多次运行中附加文本文件。有没有一种方法可以在不删除旧运行信息的情况下将控制台输出写入文本文件?我正在处理30多个类,更改System.out.println语句将非常繁琐,因此我更喜欢使用System.setOut解决方案 我有以下基于@Mac answer的代码 PrintStream out = new PrintStream(new FileOutputStream("aa.txt"),true); System.setOut(o

我的问题是关于。但是,我正在寻找一种方法,可以在多次运行中附加文本文件。有没有一种方法可以在不删除旧运行信息的情况下将控制台输出写入文本文件?我正在处理30多个类,更改
System.out.println
语句将非常繁琐,因此我更喜欢使用
System.setOut
解决方案

我有以下基于@Mac answer的代码

   PrintStream out = new PrintStream(new FileOutputStream("aa.txt"),true);
   System.setOut(out);

但是文件
aa.txt
没有附加结果,我是不是遗漏了什么

FileWriter
FileOutputStream
为构造函数提供了一个
append
标志。只需相应地修改引用的代码

当您为文件创建
FileWriter
FileOutputStream
时,将
true
作为第二个参数传递给
FileWriter
FileOutputStream
的构造函数

FileWriter(File file, boolean append) 
你应使用:

PrintStream out = new PrintStream(new FileOutputStream("output.txt"),true);
System.setOut(out);

你确定吗?在我看来,你可能把括号放错了地方。@DavidWallace copy粘贴了代码,它可以工作:)@seteropere但不符合要求(无附加)几分钟内3个伟大的答案真是太令人惊讶了。谢谢不,这不是那个问题的重复。仔细阅读-它提出了一些完全不同的问题。您是否尝试过
新的PrintStream(newfileoutputstream(“aa.txt”,true))
?正如我在评论Mac的答案时所说,他/她把括号弄错了。我正在使用PrintStream,但它不会粘贴你的代码,因此我们可以让你知道你做错了什么。我已经编辑了问题