JNotify使用 樣例

    import net.contentobjects.jnotify.*;  
      
    /**
     *
     * @author Chen Yi <[email protected]>
     */  
    public class FieMonitor {  
      
        /**
         * @param args
         */  
        public static void main(String[] args) {  
            String monitedPath = "D:/test";  
            int mask = JNotify.FILE_CREATED | JNotify.FILE_DELETED | JNotify.FILE_MODIFIED | JNotify.FILE_RENAMED;  
            // 是否監視子目錄  
            boolean watchSubtree = true;  
            try {  
                int watchID = JNotify.addWatch(monitedPath, mask, watchSubtree, new Listener());  
                Thread.sleep(1000000);  
                boolean res = JNotify.removeWatch(watchID);  
                if (!res) {  
                    // invalid  
                }  
            } catch (Exception e) {  
                e.printStackTrace();  
            }  
      
        }  
      
        public static class Listener implements JNotifyListener {  
      
            public void fileRenamed(int wd, String rootPath, String oldName, String newName) {  
                print("renamed " + rootPath + " : " + oldName + " -> " + newName);  
            }  
      
            public void fileModified(int wd, String rootPath, String name) {  
                print("modified " + rootPath + " : " + name);  
            }  
      
            public void fileDeleted(int wd, String rootPath, String name) {  
                print("deleted " + rootPath + " : " + name);  
            }  
      
            public void fileCreated(int wd, String rootPath, String name) {  
                print("created " + rootPath + " : " + name);  
            }  
      
            void print(String msg) {  
                System.err.println(msg);  
            }  
        }  
    } 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章