系统类& println()方法

时间:2016-06-16 06:29:59

标签: java

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 。如果您在解释时涵盖了系统类的一些概念,那么它对我来说会更有益。

1 个答案:

答案 0 :(得分:9)

System.outSystem类中的一个静态变量,它引用PrintStream个对象。默认情况下,它指的是一个输出到标准输出的对象。

因此System.out.println("Hello")的输出显示在标准输出中。当您致电System.setOut(ps)时,您需要更改System.out以引用其输出转到文件" abc.txt"的PrintStream。因此,System.out.println("Hay");写道" Hay"到那个文件。