3

System.out.printlnではなくファイルに書き込み、同時に保存して、ユーザーがファイルを開いていつでも進行状況を確認できるようにする必要があります。

現在、次のコードを使用しています

     FileWriter fstream = null;
        File file1 = new File(logFile);
        fstream = new FileWriter(file1);
        out = new BufferedWriter(fstream);
               out.write(msg);
     out.write("\n");

ただし、Out.close()と言わない限り、内容はファイルに保存されません。

参考までに-1.これはJavaEEアプリケーションコードです。2.Log4jLoggerを使用したくない

これを行うためのより簡単な方法はありますか?ポインタはありますか?

4

3 に答える 3

7

電話をかける必要はありません。電話するclose()だけflush()です。

この出力ストリームをフラッシュし、バッファリングされた出力バイトを強制的に書き出します。

于 2012-06-25T22:39:34.680 に答える
0

この方法でも実行できます。

PrintWriter out = new PrintWriter(logFile, "UTF-8");
out.println(msg);
out.flush();

特定の時間に出力を行う必要がある場合は、このflush()方法を使用してください。さらに、この方法で、出力ファイルのエンコーディングを指定できます。

于 2012-06-25T23:43:15.543 に答える
0

簡単な答えはOutputStream#flush()です。悲しい答えは、実際には、f_sync()がかつての約束を失ったJVMや仮想化クラウドなど、多くのJavaEEデプロイメントで保証するのは難しいということです。

于 2012-06-25T22:54:19.663 に答える