Открытие файла после переименованияTo периодически выдает FileNotFoundException - PullRequest
2 голосов
/ 17 января 2012

У меня есть код, который переименовывает файл, а затем сразу пытается открыть его.

В Windows XP это иногда (но редко) вызывает исключение FileNotFoundException.

Возвращаемое значение от renameTo - true.

Это известная проблема? Возможно, в файловой системе может произойти задержка после успешного переименования, прежде чем файл действительно появится?

Спасибо

1 Ответ

0 голосов
/ 09 февраля 2012

У меня такая же проблема в Linux, перемещение файлов в файловой системе CIFS.Эквивалентный метод Files.move (java.io.File, java.io.File) из библиотеки Google Guava, похоже, не имеет этой проблемы.Что делает Guava лучше, так это то, что он явно копирует файл из исходного байта в байт назначения, если renameTo () не возвращает true.Когда я начал писать этот ответ, я не знал, что Guava сначала делегировал File.renameTo (), но все же: никаких проблем с Guava.

...