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();
}
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


