Я никогда не думал, что это случится со мной, но я столкнулся с моей первой ошибкой в Java:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5003595
Я в значительной степени нахожусь в той же самой ситуации, как описано в ошибке (NFS в Linux), и я вижу, что File.exists () не возвращает правильное значение (по крайней мере, не сразу).
Итак, мой вопрос: есть ли альтернатива этому методу проверки, существует ли файл? Я бы предпочел оставить это независимым от ОС, если это возможно.
РЕДАКТИРОВАТЬ: я нашел обходной путь. Если вы вызываете 'ls $ filedir', NFS обновляет любой кеш / метаданные, которые вызывают проблемы с Java, и File.exists () возвращает правильное значение. Конечно, это не совсем идеально, так как это вредит переносимости, но есть способы решить эту проблему.
Спасибо,
-Бен