首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在文件中间插入或更新字节的最佳方法

在文件中间插入或更新字节的最佳方法
EN

Stack Overflow用户
提问于 2012-10-07 21:02:39
回答 1查看 869关注 0票数 0

这个问题已经被多次回答过了。

人们最后说,唯一的方法是将旧文件的字节复制到新文件中,然后插入新的字节,并完成从旧文件中复制剩余的字节。然后删除旧文件并重命名新文件。

但我的问题更多的是关于什么技术应用了最好的文本/二进制编辑器。如果我打开一个非常大的二进制文件(480MB),我在开头添加了4个字节的HxD和notepad++,似乎程序正在复制整个文件,因为我可以看到硬盘上100%的活动和正在写入的数据速度(以~100MB/s的速度写入3-4秒)。我可以假设唯一的方法是将数据复制到临时文件吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-07 21:13:29

在文件末尾以外的其他位置添加/删除字节的唯一方法是重写这些字节之后的任何内容。您可以就地执行此操作,但使用临时文件通常更简单、更安全,因为在写入新文件之前,不会接触原始文件。

要就地插入N个字节,您需要从要插入它的位置读取至少N个字节。然后写入新的字节,覆盖N个字节。但您只需阅读它们,这样您现在就可以将它们写回。但是,这将再次覆盖N个字节,因此您需要首先读取这些字节。正如您所看到的,它涉及到大量的查找-对于不太大的文件来说,将所有剩余数据存储在内存中将会更容易、更快。对于大文件,通常使用临时文件来避免这种麻烦。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12769069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档