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
青菜貓(孫宇) 閱讀(2167)
評論(1) 編輯 收藏 所屬分類:
java