使用時System.out.printlnまたはSystem.err.println違いは何ですか?コンソール アプリでは、実質的に同じように見えます。
これを変更する方法はありますか?
使用時System.out.printlnまたはSystem.err.println違いは何ですか?コンソール アプリでは、実質的に同じように見えます。
これを変更する方法はありますか?
違いは、基礎となるオペレーティング システムで定義されます。デフォルトでは、これらのストリームは両方ともコンソール (つまり、モニター) に送信されます。ただし、ユーザーはそれらを個別にリダイレクトできます。たとえば、Unix ライクな環境では、 は fileにjava MyClass > output.txtリダイレクトされますが、送信されたものはすべてコンソールに送信されます。詳細については、と;をググってください。これらは、ほとんどのオペレーティング システムでのこれらのストリームの一般的な名前です。System.outoutput.txtSystem.errstdoutstderr
違いはここで明確に定義されています。
http://docs.oracle.com/javase/6/docs/api/java/lang/System.html
これらのストリーム (System.setErr、System.setOut、System.setIn) を変更するためのメソッドも定義されています (このドキュメントに記載されています)。
System.outは標準出力、System.errはエラー出力です。
一部の IDE コンソールではSystem.out、標準フォントとSystem.out赤色で が表示されます。
Java Web サーバーは、エラーを 2 つの異なるファイルに送信します。
コマンドラインを使用すると、送信先と送信先にjava -jar yourjar.jar >out.txt 2>err.txt送信されますSystem.outout.txtSystem.errerr.txt
2 つの別々のストリームであるため、ここにいる他の全員が言ったことに加えて、並列システムでスレッドをインターリーブすると、それらを同じ意味で使用すると、印刷順序が驚くほどになる可能性があります。プロセッサに何をすべきかを伝えるときに、オペレーティングシステムがそれらにどのように優先順位を付けるかによって異なります.