我想创建一个用于编辑文本文件的简单程序(用Java),尤其是一个可以在文本文件中的任意位置插入任意文本的程序。此功能是我当前正在编写的一个较大程序的一部分。阅读有关java.util.RandomAccessFile的描述,似乎在文件中间执行的任何写操作实际上都会覆盖现有内容。这是我要避免的副作用(如果可能)。有没有简单的方法可以做到这一点?提前致谢。
3 回答
狐的传说
TA贡献1804条经验 获得超3个赞
如果Java有一种存储映射文件的方法,那么您可以做的就是将文件扩展到新的长度,映射文件,将所有字节向下记忆到最后一个洞,然后将新数据写入该洞中。
这在C语言中有效。从未在Java中尝试过。
我刚刚想到的另一种方法是使用随机文件访问来执行相同的操作。
寻找到最后-1 MB
读取1 MB
将其写入原始位置+间隙大小。
对于文件开始处的每个前1 MB重复此操作。
到达所需的间隙位置时停止。
使用较大的缓冲区大小可提高性能。
添加回答
举报
0/150
提交
取消