Domanda

I want to perform some operation after a file named (XXXXXX.txt) created in the specific directory. I just don't want to monitor the whole directory. How can i achieve this using Apache Commons VFS API? I tried with the below code, but it did not work out. Any idea about how to achieve this?

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

Soluzione

Try something like this:

 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();

Altri suggerimenti

  1. Implement a custom monitor and over ride the fileCreated() method

  2. Create a concurrent queue which keeps the monitors of interest and remove it after use

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top