System.err と System.out の違い

     ほとんどのオペレーティング システムには、標準入力、標準出力、および標準エラーの 3 つの標準ファイル記述子があります。

      3 つのオペレーティング システムのファイル記述子は、プログラミング言語の標準ライブラリにマップされ、多くの場合、パッケージ化のレイヤーを使用しますが、名前は通常、標準入力、標準出力、および標準エラーと呼ばれます。

       他の言語での一般的な書き方は、stdin、stdout、stderr (一部の言語では大文字、一部の言語では小文字) です。Javaの System.in、System.out、System.errに相当します。

       言語レベルでは、3 つのファイル記述子はすべてリダイレクト可能です (必要に応じて)。しかし、一般に、UNIX シェルまたは Windows コマンド ラインでパイプまたはリダイレクトを使用する場合、それは標準の入力と出力のためだけです。

       さらに、標準出力と標準エラーの違いの 1 つは、標準出力はキャッシュされることが多く、標準エラーはキャッシュされないことです (デフォルト設定は変更可能です)。したがって、標準エラーを使用して画面にすぐに表示できるものを印刷し、標準出力を使用して印刷するには、それらを一緒に印刷する前にさらに数文字を蓄積する必要がある場合があります。アプリケーションで stdout と stderr を混在させると、この問題が発生することがあります。

       一般に、System.out は通常の出力、つまりプログラムが実際に出力したいものに使用されます。また、System.err は、予期しないエラー メッセージの出力に使用されます。

        したがって、System.err によって入力された情報は、多くの場合、System.out 情報よりも優先されます。. .

好き:

Java コード   お気に入りのコード
  1. public  void  sayHello(文字列名) {  
  2. System.err.println( new  Date()+ " sayHello メソッド開始" );  
  3. System.out.println( "sayHello() を実行" );  
  4. System.out.println( new  Date()+ " sayHello メソッド終了" );  
  5. }  

次の 2 つの状況があります。

excute sayHello()
Mon Apr 26 10:12:05 CST 2010 sayHello メソッド終了
Mon Apr 26 10:12:05 CST 2010 sayHello メソッド開始

月 4 月 26 日 10:17:15 CST 2010 sayHello メソッド開始
実行 sayHello()

Mon Apr 26 10:17:15 CST 2010 sayHello メソッド終了


元のリンク: http://caoruntao.iteye.com/blog/653045

おすすめ

転載: blog.csdn.net/eyoulc123/article/details/52119372