- 締切済み
System.out.printlnで出力バッファ
System.out.printlnで文字をすぐに出力する方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- bgbg
- ベストアンサー率53% (94/175)
回答No.3
質問文からあまり状況が見えないのですが、想像で回答します。 プログラム側でバッファをflushすることと、受け取り先の出力装置がどう処理するかは別の問題です。 つまりflushされたデータが何らかの理由で出力装置に反映されない可能性もあるということです。 また、System.outやSystem.errの指す出力装置をデフォルトから変更することができます。そのようなことをしてないか確認する必要もあるでしょう。 プログラムの実行をトレースするのならば、デバッガを使って追いかけた方が確実です。
- auty
- ベストアンサー率58% (284/486)
回答No.2
それ程際どいなら、flush()が実行される前に、プログラムが落っこちるのでは。
- auty
- ベストアンサー率58% (284/486)
回答No.1
クラス PrintStreamのAPIに --------------------------------------------------------- println メソッドの 1 つが呼び出されたか、 または改行文字またはバイト ('\n') が書き込まれたあとに、 flush メソッドが自動的に呼び出されます。 --------------------------------------------------------- とありますので、プログラム側では実行時点でフラッシュは完了しているのではないでしょうか。
補足
そうですか。 println()にはこだわりませんが、エラーになる行の直前で書いたprintln()の文字が表示されないので、println()が実行されて次の行が実行されてエラーになったはずなのに、文字が出てない原因を探しているところです。 よろしくお願いいたします。