我需要解析由C++創建二進制文件並在該文件覆蓋一個4炭長char數組,例如改變創建二進制文件的一個好方法的ABCD原始字符數組到WXYZ。寫一個1個字節的字符數組到由C++
我完全知道該char數組字節的位置。我嘗試了RandomAccessFile,這讓我輕鬆地去找位置。但我現在無法爲其他人工作。
RandomAccessFile是一個正確的方法嗎?
我知道我必須做一些轉換,從2個字節char到一個字節字符。
任何人都有一個很好的方法來做到這一點?
我需要解析由C++創建二進制文件並在該文件覆蓋一個4炭長char數組,例如改變創建二進制文件的一個好方法的ABCD原始字符數組到WXYZ。寫一個1個字節的字符數組到由C++
我完全知道該char數組字節的位置。我嘗試了RandomAccessFile,這讓我輕鬆地去找位置。但我現在無法爲其他人工作。
RandomAccessFile是一個正確的方法嗎?
我知道我必須做一些轉換,從2個字節char到一個字節字符。
任何人都有一個很好的方法來做到這一點?
細:總是嘗試JavaDoc RandomAccessFile。
long position = ...;
byte[] bytes = new byte[] { (byte)'W', ... };
raf.seek(position);
raf.write(bytes);
RandomAccessFile
很好。正如你已經想到的那樣,在C++ char
中是一個字節,而Java使用的是UTF-16。
最簡單的選擇可能是在代碼中使用byte[4]
來表示4個字符的ASCII字符串。