Конкретный файловый монитор с использованием Apache Commons VFS API

Я хочу выполнить некоторую операцию после файла с именем (XXXXXX.txt), созданного в определенном каталоге. Я просто не хочу контролировать весь каталог. Как я могу добиться этого с помощью Apache Commons VFS API? Я пробовал с приведенным ниже кодом, но это не сработало. Любая идея о том, как этого добиться?

FileObject listendir1 = fsManager.resolveFile("C:\\Users\\Myname\\AppData\\Local\\Temp\\XXXXXXX.txt");
fileMonitor.addFile(listendir1);
fileMonitor.start();

person user1986707    schedule 17.01.2013    source источник


Ответы (2)


Попробуйте что-то вроде этого:

 FileSystemManager fsManager = VFS.getManager();
 FileObject listendir = fsManager.resolveFile("/home/username/monitored/");
 DefaultFileMonitor fm = new DefaultFileMonitor(new CustomFileListener());
 fm.setRecursive(true);
 fm.addFile(listendir);
 fm.start();
person Robert    schedule 01.09.2015

  1. Реализовать собственный монитор и переопределить метод fileCreated().

  2. Создайте параллельную очередь, в которой будут храниться интересующие вас мониторы, и удалите ее после использования.

person Sambit Tripathy    schedule 10.09.2015