Java Bytebuffer может читать только последовательно? - PullRequest
0 голосов
/ 05 июня 2019

Я отображаю файл в память и читаю его обратно с помощью Java ByteBuffer.Это действительно быстрый способ чтения больших файлов.Тем не менее, я могу только читать значения последовательно.Это означает, что как только я прочитал их buffer.getInt(), указатель буфера переместится на следующие байты.Поэтому, если я хочу использовать значение более одного раза, я должен сохранить его в другой переменной:

int a = buffer.getInt()

Я замечаю, что этот подход копирования части памяти в другуюзанимает много времени (особенно с очень большим файлом) по сравнению с простым чтением байтов.Есть ли способ, которым я могу перечитать эти байты вместо того, чтобы копировать их?

...