java 使用Java WatchService观察目录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 使用Java WatchService观察目录相关的知识,希望对你有一定的参考价值。

Path myDir = Paths.get(DIRECTORY_NAME);

WatchService watcher = myDir.getFileSystem().newWatchService();
myDir.register(watcher, StandardWatchEventKinds.ENTRY_CREATE,
		StandardWatchEventKinds.ENTRY_DELETE, StandardWatchEventKinds.ENTRY_MODIFY);

WatchKey watchKey = watcher.take();

while (watchKey != null) {
	for (WatchEvent event : watchKey.pollEvents()) {
		if (event.kind() == StandardWatchEventKinds.ENTRY_CREATE) {
			log.info(((Path) event.context()).getFileName().toString());
		}
	}
	watchKey.reset();
	watchKey = watcher.take();
}

以上是关于java 使用Java WatchService观察目录的主要内容,如果未能解决你的问题,请参考以下文章

Java 7 NIO watchservice vs jpathwatch

Java 7 WatchService 对其他人来说很慢吗?

java 在Java WatchService上注册目录及其子目录

Java 文件系统监控(WatchService)

Java WatchService 在观看映射驱动器时不生成事件

Java 项目中一种简单的动态修改配置即时生效的方式 WatchService