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

时间:2009-03-18 17:13:26

标签: java

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

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

谢谢!

2 个答案:

答案 0 :(得分:13)

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

答案 1 :(得分:6)

如果我想要做的只是改变一个字节,我就不会费心将整个文件读入内存。我将RandomAccessFileseek用于相关字节,write,并关闭文件。