• 締切済み

System.out.printlnで出力バッファ

System.out.printlnで文字をすぐに出力する方法を教えてください。

みんなの回答

  • 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 メソッドが自動的に呼び出されます。 --------------------------------------------------------- とありますので、プログラム側では実行時点でフラッシュは完了しているのではないでしょうか。

amocry
質問者

補足

そうですか。 println()にはこだわりませんが、エラーになる行の直前で書いたprintln()の文字が表示されないので、println()が実行されて次の行が実行されてエラーになったはずなのに、文字が出てない原因を探しているところです。 よろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • System.out.printlnの出力先

    System.out.printlnはデフォルトでコンソール出力になっていますが、ファイルなどへ出力先を変更することはできますか?

    • ベストアンサー
    • Java
  • System.err. printlnとSystem.out.printlnはどう違うんでしょうか?

     初心者なので今までSystem.out.println文しか見たことがなかったのですが、テキストで急にIOExceptionのcatch文の中にSystem.err. println文が出てきました。  errをoutに書き換えてもエクリプスではチェックされなかったのですが、どういう違いがあるのでしょうか?

    • ベストアンサー
    • Java
  • system.out.printが出力されない

    お世話になります。 既存システムを改修することになったのですが チェック用にsystem.out.print/printlnを設定しても全くプロンプト上に出力されません。 何か出力しないようにする設定はあるのでしょうか? 環境:WindowsXP JBOSS3.2.3 j2sdk1.4.1 Struts1.0 EJB

    • ベストアンサー
    • Java
  • System.out.println("test"); のエラー

    既存の質問でしたら申し訳ございません. また,初歩的な質問で申し訳ございません. クラスの中で, System.out.println("test"); と書くとエラーになるクラスとならないクラスがあります. 簡単なクラスなので,フォルダの位置が違うくらいで大きな違いはないのですが,違いがわかりません.何か設定が必要なのでしょうか? エラーにならないクラスは,「out」の文字が青色で斜体になっています. エラー内容には, 「トークン "println" に構文エラーがあります。このトークンの後には = を指定する必要があります。」 と書かれています. 原因がわかりましたらアドバイスをお願いいたします. 失礼致します.

    • ベストアンサー
    • Java
  • System.out.println(new 文)て?

    javaを勉強しています。カレンダーを作ろうと思い、以下のURLのカレンダーのコードを勉強していたのですが、タイトルのSystem.out.println(new文)の意味が分かりません。 下記のコードで言うと、;のつく文では一番下の文です。 よろしくお願いします。 http://www7a.biglobe.ne.jp/~java-master/samples/datetime/MonthlyCalendar.html

    • ベストアンサー
    • Java
  • System.out.printlnの意味がよくわかりません。

    System.out.printlnの意味がよくわかりません。 色々と参考書などを読むと、「Systemのフィールド変数outは、PrintStreamクラスのインスタンスを参照している。」との記述がありました。 ならばと、直接io パッケージからPrintStream 、outを呼び出すため、 “java.io.PrintStream.out. println();”と書きましたが、「outが不可視です」とのエラーが出ます。 このコマンドのどこが間違っているのでしょうか。 また、何故、Systemから、他のパッケージにあるメソッドを呼び出すのでしょうか。 わざわざSystemから、ioパッケージにあるout 、println() を呼び出す必要があるのでしょうか。 他の呼び出し方はないのでしょうか。;

    • ベストアンサー
    • Java
  • System.out.printlnの仕組み

    javaのSystem.out.println();について質問です。 System.out.println()の仕組みのサンプルコードを、以前書籍かサイトで見かけました。 それを見る限り この out は、Systemクラスのフィールド、定数out(静的)でPrintStream型のようでした。 そして、このPrintStream型の定数にPrintStreamのインスタンスを代入していました。 定数outはstaticだったのでSystem.out とSystemクラスはnewせずに直接呼べて、 定数自体にはPrintStreamインスタンスの参照が格納されているので printlnメソッドは、PrintStreamクラスのものかなと思いました。 疑問なのは、Systemクラスの定数に わざわざPrintStreamインスタンスを代入して PrintStreamクラスのメソッドを呼んでいるのかということです。 なぜPrintStreamクラスのprintlnメソッドを使うために PrintStreamクラスとSystemクラスの両方を使用するかが見えてきません。 詳しい方おられましたら教えてもらえないでしょうか?

  • -Servlet外でのHTML出力-

    お世話になります。 Servletの処理で・・・ PrintWriter out = res.getWriter(); out.println("<html><body>"); out.println("<form>"); out.println("<td>HelloWolrld</td>"); out.println("</form>"); out.println("</body></html>"); out.close(); ・・・のようなHTML出力がありますが、 セッション切れ後の処理(HttpSessionBindingListener 実装)で同じように画面にHTMLを出力する方法はありませんか?? セッションが切れた状態では無理な気がするのですが・・・ ・・・何とかなりませんか??

    • ベストアンサー
    • Java
  • System.out.printで空文字

    はじめまして、質問させて頂きます。 宜しくお願い致します。 System.out.println(""); で改行となるのはなぜなんでしょうか?

    • ベストアンサー
    • Java
  • 出力結果が得られる理由が分かりません

    一つ目のプログラムソース: public class Array{ public static void main(String[] args){ int[] a={1,2,3,4}; int[] b={5,6,7,8}; System.out.print(a[2]); System.out.print(b[2]); b=a; System.out.print(a[2]); System.out.print(b[2]); b[2]=0; System.out.print(a[2]); System.out.print(b[2]); } } 出力結果:  373300 二つ目のプログラムソース: class Box{ private int value; public Box(){value=0;} public Box(int v){setValue(v);} public void setValue(int v){value=v;} public int getValue(){return value;} public Box copy(){ Box b=new Box(); b.setValue(getValue()); return b; } } public class BoxTest{ public static void main(String[] args){ Box x=new Box(1); Box y=new Box(2); Box z=new Box(3); x=z.copy(); y=z; System.out.print(x.getValue()); System.out.print(y.getValue()); System.out.println(z.getValue()); System.out.println(x==y); System.out.println(y==z); System.out.println(z==x); } } 出力結果:  333 false true false この二つのプログラムがどうしてこのような出力結果になるのかが分かりません。 良かったら教えてください。

    • ベストアンサー
    • Java
このQ&Aのポイント
  • スーパーセキュリティVPNに関する質問の内容と回答をまとめました。
  • 購入製品の使用台数やパソコンのOS、お困りごと、スーパーセキュリティVPNのアップグレードについての疑問を解決します。
  • ベトナムでのパソコン利用時にスーパーセキュリティVPNを使用し、日本の「アマゾンプライム」や「hulu」を視聴することができるか、アップグレードの料金と利用可能期限について教えてください。
回答を見る