将许多system.out.println重定向到.txt文件

Cod*_*ein 2 java file-io printstream println

可能重复:将
java输出打印到文件

在Java程序中,我有一个很长的方法(我认为发布它并不重要,因为它对问题不重要),它有大量的println语句来打印控制台的状态更新.

我不希望将这些打印输出到控制台,而是希望它们进入txt文件,我可以在其中存储它们并在以后查看它们.

有没有一种简单的方法来重定向输出而无需手动遍历每个println语句?

如果没有,最好的方法是什么?

小智 11

我以前必须这样做,它不是很整洁,我希望你不是为最后一段代码做的,但我做了:

PrintStream ps = new PrintStream("\file.txt");
PrintStream orig = System.out;
System.setOut(ps);
//TODO: stuff with System.out.println("some output");
System.setOut(orig);
ps.close();
Run Code Online (Sandbox Code Playgroud)