如何写入文档中的下一个空白行?

时间:2015-04-06 14:15:29

标签: java swing text bufferedwriter

我有一个基本的Java Web浏览器,每次访问新站点时,其记录都存储在ArrayList中。我的程序当前所做的是在每个会话关闭后在新行上写入每个元素,但是当新会话启动然后关闭时,它会覆盖上一个会话创建的文本。

我想知道的是如何让BufferedWriter查找文档中的下一个空行并从那里开始编写,因此不会覆盖任何文本并保留持久的Web历史记录?

以下是我所使用的write方法的代码:

//This method writes the current sessions' history to a text document, so a persistent history is kept

private void WriteHistory() throws Exception {

    FileWriter writer = new FileWriter(outPath);
    BufferedWriter textWriter = new BufferedWriter(writer);
    for(int i = 0; i < URLBar.history.size(); i++) {
      textWriter.write(URLBar.history.get(i));
      textWriter.newLine();
    }
    textWriter.close();

}

2 个答案:

答案 0 :(得分:1)

最简单的方法是使用FileWriter(文件文件,布尔附加)构造函数。

FileWriter writer = new FileWriter(outPath, true);

这只会将文本添加到文件中已有的任何文本中。

答案 1 :(得分:0)

在textWriter.close()之前;你可以创建一个新的Line by     textWriter.write( “\ n”);

在你覆盖之前检查新线