Возможно ли отображать в памяти огромные файлы (несколько ГБ) в Java?
Этот метод FileChannel
выглядит многообещающе:
MappedByteBuffer map(FileChannel.MapMode mode, long position, long size)
И position
, и size
допускают 64-битные значения - пока что все хорошо.
Однако
MappedByteBuffer
предоставляет методы только для 32-битных позиций (get(int index)
, position(int newPosition)
и т. Д.), Что, по-видимому, означает, что я не могу отобразить файлы размером более 2 ГБ.
Как мне обойти это ограничение?