Java 将System.setout重定向回标准输出

Java 将System.setout重定向回标准输出,java,redirectstandardoutput,Java,Redirectstandardoutput,System.settout重定向标准输出。比如说, FileOutputStream f = new FileOutputStream("file.txt"); System.setOut(new PrintStream(f)); 每个System.out.print都将写入该文件。我的问题是,一旦完成,如何将输出设置回标准?只需保存并恢复即可: final PrintStream oldStdout = System.out; System.setOut(newStdout); /

System.settout
重定向标准输出。比如说,

FileOutputStream f = new FileOutputStream("file.txt");
    System.setOut(new PrintStream(f));

每个
System.out.print
都将写入该文件。我的问题是,一旦完成,如何将输出设置回标准?

只需保存并恢复即可:

final PrintStream oldStdout = System.out;
System.setOut(newStdout);
// ...
System.setOut(oldStdout);

您需要对原始流的引用,例如PrintStream ps=System.out;