2012-08-20 2 views
5

Я не уверен, что то, что я прошу, возможно, но я хотел бы сделать следующее: Когда файл создается в определенной папке (Windows), мой программа должна отвечать. Я хочу, чтобы Windows вызывала метод обратного вызова при создании файла.Windows - получите предупреждение при создании файла

Другой вариант, конечно, просто использует цикл и постоянно проверяет, находится ли новый файл в папке, но я хотел бы знать его мгновенно, поэтому метод обратного вызова будет намного более эффективным.

Возможно ли это? Язык не важен, хотя Java является предпочтительным.

ответ

7

С помощью Java nio 2 (доступно на Java 1.7 +) вы можете "watch" a directory и получать уведомление, когда этот каталог изменяется.

Метод, предложенный в учебнике, приведенном выше, использует WatchService API.

1

Commons IO содержит FileAlterationListener, у которого есть метод onDirectoryChange. Может быть альтернативой, если Java 1.7 недоступен.

0

Если вы не связаны с Java, вы можете использовать очень удобный FileSystemWatcher в C# или VisualBasic. Это позволит вам наблюдать за всеми событиями, которые могут произойти в папке, и это довольно просто реализовать.

Смежные вопросы