FileRead в Java с смещением> 32 бит

1

Как InputStream, так и FileReader в java максимальное значение смещения (предположим) - максимальное значение подписанного 32-битного int. Но что, если я пытаюсь читать содержимое за пределами этого лимита в 8 ГБ?

  • 0
    Значение offset - это смещение в буфере чтения. Положение файла устанавливается InputStream.skip() или RandomAccessFile.seek(), оба из которых принимают long параметры.
Теги:
inputstream

1 ответ

3
Лучший ответ

Фактически skip() (как для FileReader, так и для InputStream) принимает long а не int поэтому ваше смещение будет ограничено 64-значным целым числом, что уже достаточно для реального размера файла.

Размер смещения довольно ограничен файловой системой, с которой вы работаете, или потоком подкласса; например: файловая система FAT32 не может иметь файловую систему, большую, чем 2G

  • 1
    Я думаю, что на самом деле чтение всего javadoc поможет в ретроспективе: \ Спасибо за вашу помощь. Ну примите как только прошло 8 минут.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню