Есть ли способ отслеживать папки в java, чтобы увидеть, когда они обновляются, т.е. файлы создаются, удаляются, переименовываются и т. д. А также есть ли способ настроить его так, чтобы он искал только файлы, начинающиеся с определенного префикса, например img?
Java Folder Monitor для создания/удаления/и т. д.?
Ответы (3)
В Java 7 есть WatchService
API а> как часть NIO2. Для более ранних версий Java нет чистого решения Java, за исключением ручного опроса.
person
Joachim Sauer
schedule
11.08.2009
Недавно я повторно реализовал код, над которым работал, когда изначально задавал этот вопрос. WatchService от NIO2 — очень аккуратный и простой в использовании метод. Очень рекомендую использовать его всем, кто в будущем будет читать этот вопрос.
- person pie154; 19.10.2011
Не могли бы вы предоставить мне хорошую ссылку, я разрабатываю это с помощью java 5... как вы сказали, это можно сделать с помощью ручного опроса
- person Sunny Gupta; 16.01.2012
См. мой ответ на аналогичный вопрос.
Подробные механизмы не будут фильтроваться по имени/типу файла. Вам нужно будет сделать это вместе с предлагаемыми решениями.
person
Brian Agnew
schedule
11.08.2009
Вы можете использовать API-интерфейс inotify-java, который предоставляет основанный на событиях механизм мониторинга событий файловой системы Linux с помощью интерфейса inotify, предоставляемого glibc (версии 2.4 и выше) и ядра Linux, начиная с 2.6.13. Особенности Простая, легкая в использовании полнофункциональная поддержка inotify API с низким потреблением памяти использует блокировку вызовов, что обеспечивает низкую загрузку ЦП
person
Sajad Bahmani
schedule
19.10.2011