1

使用時System.out.printlnまたはSystem.err.println違いは何ですか?コンソール アプリでは、実質的に同じように見えます。

これを変更する方法はありますか?

4

4 に答える 4

2

違いは、基礎となるオペレーティング システムで定義されます。デフォルトでは、これらのストリームは両方ともコンソール (つまり、モニター) に送信されます。ただし、ユーザーはそれらを個別にリダイレクトできます。たとえば、Unix ライクな環境では、 は fileにjava MyClass > output.txtリダイレクトされますが、送信されたものはすべてコンソールに送信されます。詳細については、と;をググってください。これらは、ほとんどのオペレーティング システムでのこれらのストリームの一般的な名前です。System.outoutput.txtSystem.errstdoutstderr

于 2012-12-21T01:08:11.667 に答える
1

違いはここで明確に定義されています。

http://docs.oracle.com/javase/6/docs/api/java/lang/System.html

これらのストリーム (System.setErr、System.setOut、System.setIn) を変更するためのメソッドも定義されています (このドキュメントに記載されています)。

于 2012-12-21T01:09:00.770 に答える
1

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

于 2012-12-21T01:11:04.530 に答える
0

2 つの別々のストリームであるため、ここにいる他の全員が言ったことに加えて、並列システムでスレッドをインターリーブすると、それらを同じ意味で使用すると、印刷順序が驚くほどになる可能性があります。プロセッサに何をすべきかを伝えるときに、オペレーティングシステムがそれらにどのように優先順位を付けるかによって異なります.

于 2012-12-21T01:16:39.223 に答える