apache vfs 监视文件变化

琴乐音 2010-01-25 09:42:07
有谁用过这个监视文件, 他是用轮寻的方式实现的, 我用他监视文件, 代码:
FileSystemManager fsManager = null;
FileObject listendir = null;
try {
fsManager = VFS.getManager();
listendir = fsManager.resolveFile(new File("c:/test/1.txt")
.getAbsolutePath());

} catch (FileSystemException e) {
logger.error("监视文件夹出错了", e);
e.printStackTrace();
}

String watchDir = listendir.toString().substring(8);
System.out.println("watch path: " + watchDir);
this.fm = new DefaultFileMonitor(new FileListener() {
public void fileCreated(FileChangeEvent event) throws Exception {
System.out.println("创建文件");
}

public void fileDeleted(FileChangeEvent event) throws Exception {
System.out.println("删除文件");
}

public void fileChanged(FileChangeEvent event) throws Exception {
System.out.println("修改文件");
}
当我创建文件,删除文件或改变文件时, 相对应的方法会执行3次, 为什么呢? 我想只执行一次就行了?
...全文
78 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
琴乐音 2010-01-26
  • 打赏
  • 举报
回复
回答真水, 要是有扣分机制就好了
awusoft 2010-01-25
  • 打赏
  • 举报
回复
类也不发全
awusoft 2010-01-25
  • 打赏
  • 举报
回复
看看这个FileChangeEvent里边的情况吧
zxj828282 2010-01-25
  • 打赏
  • 举报
回复
111

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧