2013-11-27 45 views
0

我需要解析由C++创建二进制文件并在该文件覆盖一个4炭长char数组,例如改变创建二进制文件的一个好方法的ABCD原始字符数组到WXYZ。写一个1个字节的字符数组到由C++

我完全知道该char数组字节的位置。我尝试了RandomAccessFile,这让我轻松地去找位置。但我现在无法为其他人工作。

RandomAccessFile是一个正确的方法吗?

我知道我必须做一些转换,从2个字节char一个字节字符

任何人都有一个很好的方法来做到这一点?

回答

1

细:总是尝试JavaDoc RandomAccessFile

long position = ...; 
byte[] bytes = new byte[] { (byte)'W', ... }; 
raf.seek(position); 
raf.write(bytes); 
1

RandomAccessFile很好。正如你已经想到的那样,在C++ char中是一个字节,而Java使用的是UTF-16

最简单的选择可能是在代码中使用byte[4]来表示4个字符的ASCII字符串。

相关问题