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