使用Java更改文件中单个字节的最佳方法是什么?我已经用几种方式实现了这一点。一个使用所有字节数组操作,但这对可用内存量非常敏感,并且不会超过50 MB左右(即,我不能分配100MB的byte []而不会出现OutOfMemory错误)。我还用另一种方式实现了它的工作和扩展,但它感觉非常黑客。
如果你是一个java io大师,你不得不与非常大的文件(200-500MB)竞争,你会怎么做到这一点?
谢谢!
答案 0 :(得分:13)
我使用RandomAccessFile,寻找我想改变的位置并写下变化。
答案 1 :(得分:6)
如果我想要做的只是改变一个字节,我就不会费心将整个文件读入内存。我将RandomAccessFile
,seek
用于相关字节,write,并关闭文件。