使用 Apache Commons VFS API 的特定文件监视器
Posted
技术标签:
【中文标题】使用 Apache Commons VFS API 的特定文件监视器【英文标题】:Specific file monitor using 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();
【问题讨论】:
【参考方案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() 方法
创建一个并发队列,保留感兴趣的监视器并在使用后将其删除
【讨论】:
以上是关于使用 Apache Commons VFS API 的特定文件监视器的主要内容,如果未能解决你的问题,请参考以下文章
Apache VFS 错误。因为它是相对路径,并且没有提供基本 URI
如何使用 JCIFS 和 apache VFS 访问 SMB URL?
Java 中的 IMAP 客户端:JavaMail API 还是 Apache Commons Net?
TelnetClient (Apache Commons Net 3.7.2 API) 已连接 solaris10 但无法加载 ~/.bash_profile