0

FileWriter と PrintWriter を使用して Java でファイルを出力しようとしていますが、これに関するいくつかの問題に直面しています。ファイルにデータを書き込むと、データの約 85% しかファイルに書き込まれませんが、カウンターを使用してデータを印刷すると、プロセスの 100% 完了が示されます。論理的にはすべてのデータがファイルに書き込まれているはずですが、そうはなりません。私は答えを探してみましたが、これは私が書いている大きなデータ (約 11 mb) が原因である可能性があることがわかりました。

では、タスクを完了するための効率的な方法はありますか?

4

3 に答える 3

1

11 MBはかなり小さいので、ファイルを正しく閉じないと、ファイルの終わりがバッファリングされて破棄される可能性があります。Javaでは、複数のTBファイル、つまりファイルシステムが処理できる大きさのファイルを書き込むことができます。;)

于 2012-07-06T13:01:46.837 に答える
1

FileWriter オブジェクトを閉じて、PrintWriter オブジェクトをフラッシュする必要があります。

objFileWriter.close();
ibjPrintWriter.flush();
于 2012-07-06T13:08:47.637 に答える
0
try {
        FO1 = new FileWriter("ProximityPoint.txt");
        out=new PrintWriter(FO1);
    } catch (IOException e) {
        System.out.println("Exception 2");
    }
    for (int i=0;i<10;i++){
        for (int j=0 ;j<10;j++){
            for (int k =0; k<10 ;k++){
                /*Process is done here*/
                out.println(i+ ", " +j+ ", " +k+ ", "+ a variable);

            }
        }
    }

これは、ファイルへの書き込みに使用しているコードです。ファイルへの書き込みに影響を与えるとは思わないため、実際のコードは省略しました。


ここで bestsss の編集: out.close()ループの後に逃します。

于 2012-07-06T13:05:25.463 に答える