2013-11-27 43 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字符串。

相關問題