Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想用 y 字节替换文件的前 x 字节。也就是说 x 和 y 的长度不同。我尝试复制到新文件。它可以工作,但对于大文件来说很慢。我知道可以使用替换 RANDOMAccessfile 的确切长度。但我无法将它用于我的目的。
非常感谢您的帮助。
如果x和y不一样,你别无选择,只能先写y,然后再写文件的其余部分,即使你所做的只是将文件的其余部分向上移动y - x字节。
x
y
y - x
如果您迫切需要它快速,那么您可以创建一个自己的随机访问接口,由一组不可变文件 + 不可变更改列表支持。如果您的应用程序有一些空闲时间,那么它可以在后台将最后一个不可变提交点 + 更改列表合并到一个新文件中。
变更列表可以很简单
提交点只是一个完整的文件。