【问题标题】:Specific file monitor using Apache Commons VFS API使用 Apache Commons VFS API 的特定文件监视器
【发布时间】:2013-01-17 10:14:41
【问题描述】:
我想在特定目录中创建一个名为(XXXXXX.txt)的文件后执行一些操作。我只是不想监视整个目录。我如何使用 Apache Commons VFS API 来实现这一点?我尝试使用以下代码,但没有成功。关于如何实现这一点的任何想法?
FileObject listendir1 = fsManager.resolveFile("C:\\Users\\Myname\\AppData\\Local\\Temp\\XXXXXXX.txt");
fileMonitor.addFile(listendir1);
fileMonitor.start();
【问题讨论】:
标签:
java
vfs
apache-commons-vfs
file-monitoring
【解决方案1】:
试试这样的:
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();
【解决方案2】:
实现自定义监视器并覆盖 fileCreated() 方法
创建一个并发队列,保留感兴趣的监视器并在使用后将其删除