用Java编辑二进制文件

问题描述 投票:0回答:1

我需要做这个项目,在其中读取一个二进制文件,然后制作一个新的二进制文件,该文件的偏移量为00。因此,例如,如果二进制数位于偏移量02处,它将使该二进制数偏移2。因此,该二进制数将位于04.,中间是00。

我正在考虑使用随机访问文件来访问它并进行编辑(只读)。但是我迷上了要寻找多少字节。另外,如何编辑修改并将其放入全新文件中。

亲切的问候

This is the hex format of the binary file

java binaryfiles
1个回答
0
投票

enter image description here

在上图中。蓝色(0x54)中的第一个字节位于0x40 + 0x0E。添加左行值加列值。因此,您必须读取最多但不包括该字节的所有内容。这样就可以补偿0x40 + 0x0D。那就是64 + 13 = 77。由于偏移量从0开始,因此先读取前78个字节,然后写出所需的内容。然后写出文件的其余部分。这意味着所有蓝色将在您特殊插入后被写入。

这全部是假定的,这就是您想要做的。但是您不能真正使用seek,因为这将意味着您修改的是不明智的源文件(因为您可能会犯错并且需要重新开始)。由于文件的大小可能会不断变化,因此查找正在修改的文件也会非常成问题。无论如何,请确保您保留该文件的备份副本。

要进行进一步的修改,请按说明继续阅读和写作。

© www.soinside.com 2019 - 2024. All rights reserved.