使用時System.out.println
またはSystem.err.println
違いは何ですか?コンソール アプリでは、実質的に同じように見えます。
これを変更する方法はありますか?
使用時System.out.println
またはSystem.err.println
違いは何ですか?コンソール アプリでは、実質的に同じように見えます。
これを変更する方法はありますか?
違いは、基礎となるオペレーティング システムで定義されます。デフォルトでは、これらのストリームは両方ともコンソール (つまり、モニター) に送信されます。ただし、ユーザーはそれらを個別にリダイレクトできます。たとえば、Unix ライクな環境では、 は fileにjava MyClass > output.txt
リダイレクトされますが、送信されたものはすべてコンソールに送信されます。詳細については、と;をググってください。これらは、ほとんどのオペレーティング システムでのこれらのストリームの一般的な名前です。System.out
output.txt
System.err
stdout
stderr
違いはここで明確に定義されています。
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.out
out.txt
System.err
err.txt
2 つの別々のストリームであるため、ここにいる他の全員が言ったことに加えて、並列システムでスレッドをインターリーブすると、それらを同じ意味で使用すると、印刷順序が驚くほどになる可能性があります。プロセッサに何をすべきかを伝えるときに、オペレーティングシステムがそれらにどのように優先順位を付けるかによって異なります.