-1

ファイルにデータを書き込むアプリがあります。初めて実行すると、壮大になり、数千の値がファイルに書き込まれます。次に、このコードを使用してアプリを閉じます

finish();
System.exit(0);

停止ボタンを押すと発生します。

数分後に停止してから再度実行すると、同じ時間枠で新しいファイルにいくつかの値が書き込まれるだけです。

ファイルへの書き込みに使用するコードは次のとおりです。

public void write(String message) {

    try {
        if (out == null) {
            FileWriter datawriter = new FileWriter(file, true);
            out = new BufferedWriter(datawriter);
            //out.write("X Value, Y Value, Z Value \n");
        }
        if (file.exists()) {
            out.append(message);
            out.flush();    
        }

なぜこれが起こっているのかについての洞察は大歓迎です。

ありがとう

4

2 に答える 2

0

電話はしないで下さい

System.exit(0);

この投稿を読んで理由を確認してください。

また、に電話をかける必要はありませんが、電話flush()が終わっclose()たら、に電話をかける前にfinish()

このコードで試してください:

public void write(String message) {
    try {
        if (out == null) {
            FileWriter datawriter = new FileWriter(file, true);
            out = new BufferedWriter(datawriter);
        }
        out.append(message);
        out.flush();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
于 2013-03-18T17:12:11.630 に答える
0

仕上げにout.close(). おそらくシステムの劣化です。

于 2013-03-18T15:57:04.177 に答える