运行程序时写入值

时间:2013-02-22 13:44:43

标签: java

我想将一些数据写入.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();
        }
    }
}

我使用这个代码,但问题是,它不断地覆盖第一行(我认为)。 有谁知道如何解决这个问题? 我从串口读取了50ms的值,并且不想写这个。 (每个值在一个单独的行上)

它应该写入值,直到我关闭程序。

最好的问候

2 个答案:

答案 0 :(得分:1)

尝试更改行:

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

要:

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

我将在Append模式下打开FileWrite,它会在文件中添加内容,而不会覆盖它。

答案 1 :(得分:1)

像这样打开作家:

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

那应该打开要追加的文件。请参阅javadoc