我有以下文本文件:
2
4
8
16
我想将+
字符附加到第三行的末尾,如下:
2
4
8+
16
如何通过其中一个Java打印类(PrintWriter
,BufferedWriter
等)实现这一目标?
答案 0 :(得分:3)
不幸的是,您无法在不覆盖下一个字符的情况下将数据插入文件中。
一个常见的解决方案是逐行读取整个文件,检查每一行以查看是否要进行修改,以及将该行(已修改或未修改的行)写入临时文件。
完成文件重写后,关闭这两个文件,然后将临时文件移动到原始文件的位置以完成操作。
注意:此限制并非特定于Java - 这是当今广泛使用的许多文件系统API的常见属性。人们需要在标准的C,C ++,C#和许多其他编程语言中做同样的事情。