2013-02-22 69 views
-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(); 
     } 
    } 
} 

我使用此代碼,但問題是,它會不斷覆蓋第一行(我認爲)。 有沒有人有一個想法,我可以解決這個問題? 我從串口讀取一個50ms的值,並且不想寫這個。 (每個值分開一行)

它應該寫入值,直到我關閉程序。

問候

回答

1

嘗試改變行:

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

要:

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

我將在追加模式下打開FILEWRITE,它是,它會在文件中添加內容,而不是覆蓋它。

1

打開作家是這樣的:

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

這應該打開文件進行追加。見javadoc

相關問題