0

我正在使用 java 中的 BufferedReader 读取文件。这是我在读取文件时尝试执行的操作序列

  1. 继续读取文件中一定长度的字符
  2. 一旦读取到长度,对读取的字符串进行一些操作
  3. 将读取的字符串写入临时文件
  4. 重置所有计数器(例如长度计数器)
  5. 返回 #1 并为其余文件再次执行此操作

我想弄清楚的是#3。我想在使用 BufferedWriter 写入文件时附加到临时文件。我知道有 append() 但是,这看起来像是写入新行。但是,我想每次都写入下一个光标。基本上,我想保留原始文件的格式。制作一个完全相同的文件,除了一些值被更改。

我希望这是有道理的。

谢谢。

4

3 回答 3

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
于 2012-07-18T14:16:03.177 回答
0

append() 可以正常工作。你甚至可以只做普通的 write()。如果你想用 BufferedWriter 写一个新行,你会这样做

BufferedWriter buff = new BufferedWriter();
buff.newLine();
于 2012-07-18T14:16:51.333 回答
0

对于写作,你可以使用PrintWriter

java.io.PrintWriter pw = new PrintWriter(new FileWriter(file, true));
于 2012-07-18T14:18:10.053 回答