为了账号安全,请及时绑定邮箱和手机立即绑定

通过Java将文本插入现有文件

通过Java将文本插入现有文件

慕侠2389804 2019-11-02 10:07:10
我想创建一个用于编辑文本文件的简单程序(用Java),尤其是一个可以在文本文件中的任意位置插入任意文本的程序。此功能是我当前正在编写的一个较大程序的一部分。阅读有关java.util.RandomAccessFile的描述,似乎在文件中间执行的任何写操作实际上都会覆盖现有内容。这是我要避免的副作用(如果可能)。有没有简单的方法可以做到这一点?提前致谢。
查看完整描述

3 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

如果Java有一种存储映射文件的方法,那么您可以做的就是将文件扩展到新的长度,映射文件,将所有字节向下记忆到最后一个洞,然后将新数据写入该洞中。

这在C语言中有效。从未在Java中尝试过。

我刚刚想到的另一种方法是使用随机文件访问来执行相同的操作。

  • 寻找到最后-1 MB

  • 读取1 MB

  • 将其写入原始位置+间隙大小。

  • 对于文件开始处的每个前1 MB重复此操作。

  • 到达所需的间隙位置时停止。

使用较大的缓冲区大小可提高性能。


查看完整回答
反对 回复 2019-11-02
  • 3 回答
  • 0 关注
  • 658 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信