learning java 使用WatchService监控文件变化

import java.io.IOException;
import java.nio.file.*;

public class WatchServiceTest {
    public static void main(String[] args) throws IOException, InterruptedException {
        WatchService watchService = FileSystems.getDefault().newWatchService();
        Paths.get("C:/").register(watchService,
                StandardWatchEventKinds.ENTRY_CREATE,
                StandardWatchEventKinds.ENTRY_DELETE,
                StandardWatchEventKinds.ENTRY_CREATE);
        while ( true ){
            WatchKey key = watchService.take();
            for ( WatchEvent<?> event : key.pollEvents())
            {
                System.out.println(event.context() + "文件发生了 " + event.kind()  + "事件");
            }
            boolean  valid = key.reset();
            if (!valid)
                break;
        }
    }
}

output:

新建 Microsoft Word 文档.docx文件发生了 ENTRY_CREATE事件
~$ Microsoft Word 文档.docx文件发生了 ENTRY_CREATE事件
~WRD0000.tmp文件发生了 ENTRY_CREATE事件
新建 Microsoft Word 文档.docx文件发生了 ENTRY_DELETE事件
~WRL0001.tmp文件发生了 ENTRY_CREATE事件
~WRD0000.tmp文件发生了 ENTRY_DELETE事件
新建 Microsoft Word 文档.docx文件发生了 ENTRY_CREATE事件
~WRL0001.tmp文件发生了 ENTRY_DELETE事件
~$ Microsoft Word 文档.docx文件发生了 ENTRY_DELETE事件

  

猜你喜欢

转载自www.cnblogs.com/lianghong881018/p/11308021.html