0

JButton をクリックしたときにタイムスタンプをファイルに書き込もうとしています。が呼び出される.close()と、データがファイルに書き込まれ、その他の書き込みはエラーをスローします。新しい FileWriter を作成して前の行を上書きせずにデータを書き込むにはどうすればよいですか?

4

3 に答える 3

3

これを暗黙的に行う閉じる代わりにflush()FileWriterオブジェクトを呼び出します。これにより、開いたままになりますが、バッファリングされたデータがファイルに強制的に書き込まれます。close()ただし、書き終えたら忘れないでください。

于 2012-05-16T16:05:14.340 に答える
0

これを試して、

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileWriter;

import java.io.IOException;


public class Wr {

    public static void main(String[] args) throws IOException {

    File f = new File("viv.txt");

    FileWriter fw = new FileWriter(f, true);

    BufferedWriter bw = new BufferedWriter(fw);

    bw.write("Helloooooooooo");

    bw.close();

    }
}
于 2012-05-16T18:32:03.817 に答える
0

クリック間でライターを開いたままにし、別の時点 (おそらくフォームの終了時) に閉じるか、クリックごとに新しい FileWriter を作成して、ファイル内の既存のコンテンツに追加することができます。

FileWriter writer = new FileWriter("output.txt", true); //true here indicates append to file contents

クリック間でライターを開いたままにしておくことを選択した場合は、ボタンを押すたびに .flush() を呼び出して、ファイルが最新であることを確認することができます。

于 2012-05-16T16:08:40.210 に答える