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文件监听
最新推荐文章于 2025-06-04 14:44:14 发布