java - 是否可以将随机访问文件中的特定字节设置回空?

标签 java random-access

原来,当我创建 RandomAccessFile 时,我跳过了一些字节,所以那些字节保持为空,但现在我需要删除我写的一些字节。现在,我正在做的是用空格覆盖该位置,但有没有办法将其设置回空?

编辑:由于它必须包含一个值,我想知道如何将其设置回跳过时默认分配的原始值。

最佳答案

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

如果您想“删除”某个点之后的所有字节,可以使用截断文件的 RandomAccessFile.setLength


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

关于java - 是否可以将随机访问文件中的特定字节设置回空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4406691/

相关文章:

java - LocalDate.MAX 无法持久保存在 Oracle 数据库中

web-services - 远程 Web 服务器上大媒体文件的随机访问

java - 添加 RandomAccessFile 方法

java - 为什么数组会被最后一个方法覆盖?

java - 选择 hibernate 最大日期的行

机器人 : replace x bytes in the beginning of a file with y bytes

node.js - fs.createReadStream() 在文件的特定位置

java - 无法理解数组声明 int[] it2= new int[][]{{1}}[0];

java - 将 MonkeyRunner 与 Java/Eclipse 结合使用