API Watcher в настоящее время позволяют вам видеть события, когда объект файловой системы создается, изменяется или удаляется в наблюдаемом каталоге. Они не говорят вам о других событиях inotify (в Linux). На самом деле, я не думаю, что есть способ сделать это на чистой Java.
Я искал способ сделать это сам несколько недель назад и наткнулся на почтовую ветку, в которой предлагалось написать пользовательскую реализацию FileSystem
API, предоставляющую средство просмотра файлов, поддерживающее другие события файловой системы. , Я решил не заниматься этим, потому что у меня было альтернативное решение ... основанное на знании того, как создаются файлы, которые я смотрю.
В моем случае файлы создаются инструментами, которые сохраняют файлы изображений на общем диске. Решение состоит в том, чтобы наблюдать поток «измененных» событий для вновь созданного файла. Когда он останавливается и больше не ожидается в течение пары секунд («время установления»), файл может быть обработан.
Если это решение окажется ненадежным, резервным вариантом является реализация наблюдения и начальной обработки (создание снимка файла) в C / C ++ с использованием вызовов inotify напрямую. Это позволит мне непосредственно наблюдать событие закрытия файла.