У меня есть встроенный слушатель, который уведомляет, если мы получаем новый файл в определенном каталоге. Это реализуется путем опроса и использования TimerTask.
Теперь программа настроена так, что, получив новый файл, она вызывает другую Java-программу, которая открывает файл и проверяет, является ли он правильным файлом. Моя проблема в том, что, поскольку опрос происходит через указанное количество секунд, может возникнуть ситуация, когда файл копируется в этот каталог и, следовательно, блокируется окнами.
Это вызывает исключение IOException, поскольку другая Java-программа, которая пытается открыть его для проверки, не может («Файл используется другим процессом»).
Есть ли способ узнать, когда Windows закончила копирование, а затем вызвать вторую программу для проверки из Java?
Я буду очень рад опубликовать фрагменты кода, если они кому-то понадобятся, чтобы помочь.
Спасибо