Не удалось переместить файл из-за часов Jnotify - PullRequest
0 голосов
/ 02 февраля 2012

Я использую JNotify для просмотра папки, как только новый файл попадает в папку, мне нужно проанализировать этот файл и переместить файл в какую-то другую папку, когда он выполняет код перемещения файла ", он говоритчто он используется каким-то другим процессом ".

Поскольку этот файл уже был просмотрен JNotify, поэтому я не могу его переместить.

Пожалуйста, помогите мне с какой-нибудь идеей.

Ответы [ 2 ]

1 голос
/ 31 мая 2012

Ваш код Java должен иметь дескриптор открытого файла.Убедитесь, что все читатели или другие объекты File закрыты и мусор собран.У меня была та же проблема, и после анализа кода я обнаружил, что InputStreamReader не закрывался при обнаружении исключения.Я добавил блок finally{} в блок try catch с reader.close(), и проблема была решена.

1 голос
/ 02 февраля 2012

Начиная с Java 7, вы можете использовать WatchService для отслеживания изменений в файловой системе.

Если в вашем случае вариант с Java 7 - я бы определенно пошел на это.

Учебное пособие очень полезно и говорит само за себя.

...