如何写入文档中的下一个空白行?
How to write to the next blank line in a document?
我有一个基本的 Java 网络浏览器,每次我访问一个新站点时,它的记录都会存储在一个 ArrayList 中。我的程序目前所做的是在每个会话关闭后将每个元素写在一个新行上,但是当一个新会话开始然后关闭时,它会覆盖上一个会话创建的文本。
我想知道的是如何让 BufferedWriter 查找文档中的下一个空白行并从那里开始写入,这样就不会覆盖任何文本并保留持久的网络历史记录?
这是我的写入方法的代码:
//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();
}
在textWriter.close()之前;你可以通过创建一个新行
textWriter.write("\n");
在你覆盖之前检查新行
最简单的方法是使用 FileWriter(File file, boolean append) 构造函数。
FileWriter writer = new FileWriter(outPath, true);
这只会将文本添加到文件中已有的文本中。
我有一个基本的 Java 网络浏览器,每次我访问一个新站点时,它的记录都会存储在一个 ArrayList 中。我的程序目前所做的是在每个会话关闭后将每个元素写在一个新行上,但是当一个新会话开始然后关闭时,它会覆盖上一个会话创建的文本。
我想知道的是如何让 BufferedWriter 查找文档中的下一个空白行并从那里开始写入,这样就不会覆盖任何文本并保留持久的网络历史记录?
这是我的写入方法的代码:
//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();
}
在textWriter.close()之前;你可以通过创建一个新行 textWriter.write("\n");
在你覆盖之前检查新行
最简单的方法是使用 FileWriter(File file, boolean append) 构造函数。
FileWriter writer = new FileWriter(outPath, true);
这只会将文本添加到文件中已有的文本中。