This question already has answers here:
Inserting text into an existing file via Java
(7个答案)
6年前关闭。
我想在.txt文件的特定位置插入一行。现在我知道的唯一方法是将整个文件读出为数组,将给定的行放在正确的位置,然后将整个内容写回。有没有更简单的方法可以使用Java实现这一目标?我的意图是尽可能减少文件访问。
(7个答案)
6年前关闭。
我想在.txt文件的特定位置插入一行。现在我知道的唯一方法是将整个文件读出为数组,将给定的行放在正确的位置,然后将整个内容写回。有没有更简单的方法可以使用Java实现这一目标?我的意图是尽可能减少文件访问。
最佳答案
有没有更简单的方法可以使用Java实现这一目标?
使用Java 7,除非您的插入点指向一个大文件的末尾,否则我将简单地执行以下操作:
List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8);
lines.add(position, extraLine);
Files.write(path, lines, StandardCharsets.UTF_8);