2016-06-16 5 views
2
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"); 
    } 
} 

上記のコードで何が起こるか教えてもらえますか?私はそれがなぜこんにちは出力にだけ表示されるのか理解できません。あなたがシステムクラスのいくつかの概念をカバーしている場合、それは私にとってより有益です。システムクラス&println()メソッド

+1

ここをクリックhttps://docs.oracle.com/javase/7/docs/api/java/lang/System.html#setOut(java.io.PrintStream) –

答えて

9

System.outは、Systemクラスの静的変数であり、PrintStreamオブジェクトを参照しています。デフォルトでは、出力が標準出力に向かうオブジェクトを指します。

したがって、System.out.println("Hello")の出力が標準出力に表示されます。 System.setOut(ps)に電話するときは、System.outを変更して、PrintStreamを参照して、出力がファイル "abc.txt"になるようにします。したがって、System.out.println("Hay");は、そのファイルに "Hay"を書き込みます。

関連する問題