我正在尝试首先使用setOut写入文件,然后将其重置为在控制台上打印helloworld但它无法正常工作并且正在将所有内容写入文件中
import java.io.*;
public class SetOut {
public static void main(String s[])throws Exception
{
FileOutputStream fout=new FileOutputStream("aa.txt");
PrintStream ps =new PrintStream(fout);
System.setOut(ps);
System.out.println("hello ");
System.out.println("hay");
PrintStream ps4=System.out;
System.setOut(ps4);
System.out.println("hello world");
}
}
答案 0 :(得分:1)
这是因为您第一次拨打System.SetOut
会用文件流覆盖System.out
。您必须在函数开头保存System.out
的原始值,以便稍后恢复。
PrintStream ps4=System.out; // save
FileOutputStream fout=new FileOutputStream("aa.txt");
PrintStream ps =new PrintStream(fout);
System.setOut(ps);
System.out.println("hello ");
System.out.println("hay");
System.setOut(ps4); // restore
System.out.println("hello world");