import java.io.*;
class Temp
{
public static void main(String... args) throws IOException
{
FileOutputStream fout=new FileOutputStream("abc.txt");
PrintStream ps=new PrintStream(fout);
System.out.println("Hello");
System.setOut(ps);
System.out.println("Hay");
}
}
任何人都可以告诉我上面的代码会发生什么。我无法理解为什么它在输出中只显示 Hello 。如果您在解释时涵盖了系统类的一些概念,那么它对我来说会更有益。
答案 0 :(得分:9)
System.out
是System
类中的一个静态变量,它引用PrintStream
个对象。默认情况下,它指的是一个输出到标准输出的对象。
因此System.out.println("Hello")
的输出显示在标准输出中。当您致电System.setOut(ps)
时,您需要更改System.out
以引用其输出转到文件" abc.txt"的PrintStream
。因此,System.out.println("Hay");
写道" Hay"到那个文件。