package com.zero.file;
import java.io.IOException;
import java.nio.file.*;
import java.util.List;
public class WatchServiceTest {
public static void main(String[] args) throws Exception {
Path p = Paths.get("logs");
WatchService ws = FileSystems.getDefault().newWatchService();
p.register(
ws,
StandardWatchEventKinds.ENTRY_MODIFY,
StandardWatchEventKinds.ENTRY_DELETE,
StandardWatchEventKinds.ENTRY_CREATE);
new Thread(() -> {
try {
for (; ; ) {
WatchKey watchKey = ws.take();
List<WatchEvent<?>> watchEvents = watchKey.pollEvents();
for (WatchEvent<?> event : watchEvents) {
//TODO 根据事件类型采取不同的操作。。。。。。。
System.out.println(event.context() + "---" + event.kind());
}
watchKey.reset();
}
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
try {
ws.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
}
WatchService文件监听
最新推荐文章于 2021-06-18 13:24:07 发布
本文介绍了一个使用Java编写的文件监控服务示例。该服务利用Java NIO中的WatchService来监听指定目录下的文件创建、修改和删除事件,并在控制台打印相应的事件通知。
3209

被折叠的 条评论
为什么被折叠?



