青菜猫(孙宇博客),青菜猫(孙宇博客),青菜猫(孙宇博客)http://www.javasdc.cn/
posts - 29,  comments - 63,  trackbacks - 0
      java本身不能直接监听系统的文件操作事件,但可以用第三方开源软件监控。
     在这里介绍JNotify  大家可以在sourceforge上去下载。说说用法,其实真的好简单代码如下
     1.下载成功后,把jnotify.dll放到system32下面,不然就会报错Exception in thread "main" java.lang.UnsatisfiedLinkError: no jnotify in java.library.path
    2.写一个类implements JNotifyListener,
public class JnotifyListener implements JNotifyListener {

    @Override
    public void fileCreated(int arg0, String arg1, String arg2) {
        System.out.println("fileCreate path:" + arg1);
        System.out.println("fileCreate name:" + arg2);
    }

    @Override
    public void fileDeleted(int arg0, String arg1, String arg2) {
        System.out.println("fileDeleted path:" + arg1);
        System.out.println("fileDeleted name :" + arg2);
    }

    @Override
    public void fileModified(int arg0, String arg1, String arg2) {
        System.out.println("fileModified path:" + arg1);
        System.out.println("fileModified name:" + arg2);
    }

    @Override
    public void fileRenamed(int arg0, String arg1, String arg2, String arg3) {
        System.out.println("fileRenamed path:" + arg1);
        System.out.println("fileRenamedname:" + arg2);
    }

}

然后写个测试类
public class TestJnotify {
    
    public static void main(String[] args) throws JNotifyException {
    
        int mask = JNotify.FILE_CREATED | JNotify.FILE_DELETED |JNotify.FILE_MODIFIED | JNotify.FILE_RENAMED;
        JNotify.addWatch("e:/testListener", mask, true, new JnotifyListener());
        for (;;) {    
        }
    }

}
这样就可以实现了

posted on 2011-06-24 17:29 青菜猫(孙宇) 阅读(2022) 评论(1)  编辑  收藏 所属分类: java


FeedBack:
# re: java Jnotify java实时的监控制定文件夹内文件的变动信息
2012-02-22 00:21 | 李正
加我扣扣:915671585@qq.com  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
<2011年6月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

青菜猫(孙宇)结交天下朋友,在网上吸取知识..

常用链接

留言簿(16)

随笔分类

随笔档案

文章分类

搜索

  •  

最新评论

阅读排行榜

评论排行榜

青菜猫(孙宇博客),青菜猫(孙宇博客),青菜猫(孙宇博客)http://www.javasdc.cn/