java中如何监视一个文件或目录的变化呢?
下文笔者讲述java中监视目录或文件的方法分享,如下所示:
实现思路: 借助WatchService即可实现监测文件或文件夹的变化例:
package com.java265; import java.io.IOException; import java.nio.file.*; import static java.nio.file.StandardWatchEventKinds.*; public class FileWatchDemo { public static void main(String[] args) { try { // 创建一个 WatchService实例. WatchService watcher = FileSystems.getDefault().newWatchService(); //注册 logDir到实例中 Path logDir = Paths.get("D:/Temp/"); logDir.register(watcher, ENTRY_CREATE, ENTRY_MODIFY, ENTRY_DELETE); // 循环检查是否发生变化 while (true) { WatchKey key = watcher.take(); for (WatchEvent<?> event : key.pollEvents()) { WatchEvent.Kind<?> kind = event.kind(); if (ENTRY_CREATE.equals(kind)) { System.out.println("目录中有文件创建"); } else if (ENTRY_MODIFY.equals(kind)) { System.out.println("目录中有文件修改"); } else if (ENTRY_DELETE.equals(kind)) { System.out.println("目录中有文件删除"); } } key.reset(); } } catch (IOException | InterruptedException e) { e.printStackTrace(); } } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。