2016-02-09 4 views
1

У меня есть Java RandomAccessFile. Я часто проверяю длину файла. Файл поступает от scp. Поэтому файл добавляется.Как часто обновляется RandomAccessFile?

Я хочу знать, как часто обновляется RandomAccessFile. Всякий раз, когда я проверяю RandomAccessFile.length, я получу точный length?

+0

Я уверен, что это зависит от ОС, а не от Java. RandomAccessFile собирается сообщить, что OS говорит, что это текущая длина. Как часто размер обновляется, будет зависеть от того, как «scp» выполняет буферизацию, которую он записывает на диск. – pcarter

+0

Хорошо. Предположим, если я инициализирую обычный объект «Файл» и проверим длину. Будет ли она такой же, как длина «RandomAccessFile» и «File.length» на лету? –

ответ

2

Поскольку метод является родным, я рекомендую взглянуть в исходном коде OpenJDK. Это самое близкое, что вы доберетесь до фактической реализации (если вы не работаете в Oracle ;-).

источник можно найти здесь (он делил между всеми ОС): src/share/native/java/io/RandomAccessFile.c

tl;dr Да, он будет пытаться найти конец дескриптора файловом RandomAccessFile имеет в виду.