原来,当我创建 RandomAccessFile 时,我跳过了一些字节,所以那些字节保持为空,但现在我需要删除我写的一些字节。现在,我正在做的是用空格覆盖该位置,但有没有办法将其设置回空?
编辑:由于它必须包含一个值,我想知道如何将其设置回跳过时默认分配的原始值。
最佳答案
文件不能包含“空”字节。文件中的每个字节的值必须介于 0 和 255 之间。
如果您想“删除”某个点之后的所有字节,可以使用截断文件的 RandomAccessFile.setLength
。
关于您的评论:如果您想将一些字节设置回其原始值,我建议您在您自己的类中封装一个 RandomAccessFile
,并使用从索引到原始字节值的映射,您可以更新它在每次调用 write
时。然后,该子类可以提供方法 restore(int i)
,通过在映射中查找原始值来恢复索引 i
处字节的值。
关于java - 是否可以将随机访问文件中的特定字节设置回空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4406691/