有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java是否可以将RandomAccessFile中的speicifc字节设置回null?

最初,当我创建RandomAccessFile时,我跳过了一些字节,因此这些字节保持为空,但现在我需要删除我编写的一些字节。现在,我正在做的是用空格覆盖位置,但是有没有办法将其设置为空

编辑:因为它必须包含一个值,我想知道如何将它设置回原始值,当它被跳过时,默认情况下分配给它


共 (2) 个答案

  1. # 1 楼答案

    文件不能包含“空”字节。文件中的每个字节的值必须介于0和255之间

    如果要在某一点之后“擦除”所有字节,可以使用RandomAccessFile.setLength来截断文件


    关于你的评论:如果你想把一些字节设置回它的原始值,我建议你在你自己的类中用一个从索引到原始字节值的映射来封装一个RandomAccessFile,你在每次调用write时更新它。然后,这个子类可以提供一个方法restore(int i),该方法通过在映射中查找原始值来恢复索引i处字节的值

  2. # 2 楼答案

    目前还不清楚你想做什么,但你不能从文件的开头或中间“删除”字节。通常,您可以截断一个文件,但不能从中间删除位——您通常会创建一个新文件,只复制所需的数据,然后可能会适当地重命名文件