你会如何更改文件中的单个字节?

5 java

使用Java更改文件中单个字节的最佳方法是什么?我已经用几种方式实现了这一点.一个使用所有字节数组操作,但这对可用内存量非常敏感,并且不会超过50 MB左右(即我不能分配100MB的byte []而不会出现OutOfMemory错误).我还用另一种方式实现了它的工作和扩展,但它感觉非常hacky.

如果你是一个java io大师,你不得不与非常大的文件(200-500MB)竞争,你怎么能接近这个?

谢谢!

Cam*_*ope 13

我使用RandomAccessFile,寻找我想改变的位置并写下变化.


Edd*_*die 6

如果我想要做的只是改变一个字节,我就不会费心将整个文件读入内存.我使用a RandomAccessFile,seek对有问题的字节进行编写,然后关闭文件.