BufferedWriter写入文件

问题描述:

我正在用java中的BufferedReader读取文件。下面是我想要做的读取文件操作的顺序BufferedWriter写入文件

  1. 保持文件
  2. 一旦读取到长度最多读取某些字符长度,做一些manipuation上读串
  3. 写读字符串到一个临时文件
  4. 复位所有计数器(长度前。计数器)
  5. 回去#1和文件的其余部分再次做到这一点

我想弄明白的是#3。当我使用BufferedWriter写入文件时,我想追加到临时文件。我知道有append(),但它看起来像写入新行。但是,我想每次都写下一个游标。基本上,我想保留原始文件的格式。创建一个完全相同的文件,但某些值正在更改。

我希望这是有道理的。

谢谢。

+0

您可以用'追加()'或'写()',无论是将工作相同。 – jtahlborn 2012-07-18 14:15:18

通过将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 

的append()会工作得很好。你甚至可以只是简单的写()。如果你想写一个的BufferedWriter新行,你会做这个

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

对于写,你可以使用PrintWriter

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