Я пытаюсь получить доступ к байту [] через ByteBuffer, чтобы представить определенный мной тип файла.Первые позиции в байте [] содержат метаданные и обрабатываются битовыми манипуляциями.Поэтому они вообще не представляют символ.
Я хочу добавить данные файла (например, символы) в определенную фиксированную позицию.
byte[] file_portion
содержит часть большого файла: начальный раздел.Который включает в себя заголовок с метаданными.content
- это строка с информацией, которую я хочу добавить в этот буфер.start_pos - первая позиция для хранения новых файловых данных из содержимого.
ByteBuffer my_content = ByteBuffer.allocate(this.file_portion.length);
content_buffer.wrap(this.file_portion);
for (int i = 0; i < content.length(); i++) {
char tmp = content.toCharArray()[i];
my_content.put(this.start_pos + i, (byte) tmp)
}
Если я переназначу это, я получу мусор и пустоту:
CharBuffer debug = my_content.asCharBuffer();
System.out.println("debug " + debug);
Я мог бы понять, если первыйпозиции показывают поврежденные символы ... но ни одна позиция не является правильной.