我有一个要使用 Java 编辑的文本文件。它有数千行。我基本上想遍历这些行并更改/编辑/删除一些文本。这需要经常发生。
从我在其他网站上看到的解决方案来看,一般的做法似乎是:
- 使用 BufferedReader 打开现有文件
- 读取每一行,对每一行进行修改,并将其添加到 StringBuilder
- 读取和修改所有文本后,将 StringBuilder 的内容写入新文件
- 用新文件替换旧文件
这个解决方案对我来说似乎有点“hacky”,尤其是当我的文本文件中有数千行时。
有人知道更好的解决方案吗?
原文由 Zakir Hemraj 发布,翻译遵循 CC BY-SA 4.0 许可协议
我最近没有在 Java 中这样做过,但是将整个文件写入内存似乎是个坏主意。
我能想到的最好的主意是同时以写入模式打开一个临时文件,对于每一行,读取它,必要时进行修改,然后写入临时文件。最后,删除原始文件并重命名临时文件。
如果您对文件系统具有修改权限,您可能还具有删除和重命名权限。