编辑二进制文件中的特定字节 - Java

时间:2014-02-07 14:33:39

标签: java inputstream binaryfiles outputstream randomaccessfile

我想知道如何用Java编辑二进制文件中的特定字节。

示例,执行前的二进制文件:

byteArray1[128].. Represents a array of 128 bytes.
byteArray2[128].. Other array of bytes
byteArray3[128]
byteArray4[128]

刚才,我将一个新数据带到modifiedByteArray [128]中的byteArray3 [128]。 执行后:

byteArray1[128]
byteArray2[128]
modifiedByteArray3[128] .. The array in that position was modified.
byteArray4[128]

我有类似这样的代码可以附加到文件中:

//PASSFILE -> binary passfile path
FileOutputStream fileOutput = new FileOutputStream(PASSFILE, true);
BufferedOutputStream bufferedOutput = new BufferedOutputStream(fileOutput);
long datos;

// cipherText 128 bytes
bufferedOutput.write(cipherText);

我有这些数据:
modifiedData [128] ,新的cipherText在二进制文件中的特定位置。

offsetPosition ,特定字节数组开始的位置。

关于它的解决方案?谢谢:))

1 个答案:

答案 0 :(得分:0)

我只想要这个,谢谢大家:

//PASSFILE -> binary file path
RandomAccessFile raf = new RandomAccessFile(PASSFILE, "rw");

//Entrie = Array number to modify
int offset = (entrie * 128 );

raf.seek(offset);
// cipherText = 128 bytes of the new array for the speficic entrie
raf.write(cipherText);
raf.close();