2012-07-18 115 views
0

我正在用java中的BufferedReader讀取文件。下面是我想要做的讀取文件操作的順序BufferedWriter寫入文件

  1. 保持文件
  2. 一旦讀取到長度最多讀取某些字符長度,做一些manipuation上讀串
  3. 寫讀字符串到一個臨時文件
  4. 復位所有計數器(長度前。計數器)
  5. 回去#1和文件的其餘部分再次做到這一點

我想弄明白的是#3。當我使用BufferedWriter寫入文件時,我想追加到臨時文件。我知道有append(),但它看起來像寫入新行。但是,我想每次都寫下一個遊標。基本上,我想保留原始文件的格式。創建一個完全相同的文件,但某些值正在更改。

我希望這是有道理的。

謝謝。

+0

您可以用'追加()'或'寫()',無論是將工作相同。 – jtahlborn 2012-07-18 14:15:18

回答

2

通過將true作爲第二個參數傳遞給它的構造函數,可以使用FileWriter。這將導致FileWriter追加到文件的末尾而不是覆蓋現有的內容。

http://docs.oracle.com/javase/6/docs/api/java/io/FileWriter.html

BufferedWriter writer = new BufferedWriter(new FileWriter(file, true)); 
//calls to write will now append 
0

的append()會工作得很好。你甚至可以只是簡單的寫()。如果你想寫一個的BufferedWriter新行,你會做這個

BufferedWriter buff = new BufferedWriter(); 
buff.newLine(); 
0

對於寫,你可以使用PrintWriter

java.io.PrintWriter pw = new PrintWriter(new FileWriter(file, true));