JDK7目录监视服务详解编程语言

import java.io.IOException; 
import java.nio.file.*; 
 
public class DirectoryWatcher { 
    public static void main(String[] args) throws IOException, InterruptedException { 
        WatchService watchService = FileSystems.getDefault().newWatchService(); 
        Path path = Paths.get("F:", "share").toAbsolutePath(); 
        path.register(watchService, StandardWatchEventKinds.ENTRY_CREATE, 
                StandardWatchEventKinds.ENTRY_MODIFY, 
                StandardWatchEventKinds.ENTRY_DELETE); 
        while(true) { 
            WatchKey watchKey = watchService.take(); 
            for (WatchEvent event : watchKey.pollEvents()) { 
                if (event.kind() == StandardWatchEventKinds.ENTRY_CREATE) { 
                    System.out.println("Create " + path.resolve((Path) event.context()).toAbsolutePath()); 
                } else if (event.kind() == StandardWatchEventKinds.ENTRY_MODIFY) { 
                    System.out.println("Modify " + path.resolve((Path) event.context()).toAbsolutePath()); 
                } else { 
                    System.out.println("Delete " + path.resolve((Path) event.context()).toAbsolutePath()); 
                } 
            } 
            watchKey.reset(); 
 
            // Cancel the watch 
            // watchKey.cancel(); 
        } 
    } 
}

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/10370.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论