2016-03-30 2 views
-1

Я изучаю java, и мы видим класс RandomAccessFile(), а длина файла - long (8 байт), и мне интересно, что произошло, если достигнут максимальный размер файла, мне нужно явно создать новый один или есть способ его продлить?Что произойдет, если максимальная длина архива будет достигнута?

+0

Я понятия не имею, о чем вы говорите !! Думаю, вы не знаете, о чем говорите. Что вы имели в виду под «если размер файла достигнут»? –

+0

Я забыл сказать максимальный размер спасибо – user3763927

+0

2^63 составляет около 10^19 или около 10 000 терабайт. –

ответ

0

У вас закончится память компьютера, прежде чем закончится «пространство» файла. Вы видите, что long может представлять номера до 2^64, что намного больше, чем емкость вашего компьютера.

+0

Вам не обязательно обязательно заканчиваться память компьютера. Пока поддерживается операционная система И файловая система, вы можете создать файл с «дырками» (искать разреженный файл), который не будет использовать больше памяти, чем размер метаданных. – JiriS

1

Прежде всего, вы никогда не достигнет этого предела (2^63 - 1), поскольку она не поддерживается JVM и, скорее всего, в вашей операционной системе, а также, но если операционная система поддерживает его, вы бы просто получить IOException с сообщением "Seek failed" (см RandomAccessFile.c).