-1

.txtファイルにデータを書き込みたい。

     public void writeToFile(String filename) {

    try {

        //Construct the BufferedWriter object
        bufferedWriter = new BufferedWriter(new FileWriter(filename));

        //Start writing to the output stream
        bufferedWriter.write("first value : " + firstValue);
        bufferedWriter.newLine();

    } catch (FileNotFoundException ex) {
        ex.printStackTrace();
    } catch (IOException ex) {
        ex.printStackTrace();
    } finally {
        //Close the BufferedWriter
        try {

           if (bufferedWriter != null) {
               bufferedWriter.flush();
                bufferedWriter.close();
            }
        } catch (IOException ex) {
           ex.printStackTrace();
        }
    }
}

私はこのコードを使用しますが、問題は、最初の行を常に上書きすることです(私は思います)。誰かが私がこれを修正する方法を知っていますか?私はシリアルポートからeverey50msの値を読み取りましたが、これを書きたくありません。(別の行のすべての値)

プログラムを閉じるまで値を書き込む必要があります。

よろしくお願いします

4

2 に答える 2

1

行を変更してみてください:

bufferedWriter = new BufferedWriter(new FileWriter(filename));

に:

bufferedWriter = new BufferedWriter(new FileWriter(filename, true));

FileWrite を追加モードで開きます。つまり、ファイルにコンテンツを追加し、上書きしません。

于 2013-02-22T13:47:03.543 に答える
1

次のようにライターを開きます。

bufferedWriter = new BufferedWriter(new FileWriter(filename, true));

これにより、追加用のファイルが開かれます。javadocを参照してください。

于 2013-02-22T13:47:09.403 に答える