1

没看懂怎么弄

watcher.take();

会知道要报告哪个目录?它是否报告它注册的每个目录?

dir.register(watcher...

如果我有多个观察者,他们会只报告那些针对他们注册的目录吗?

register()返回值的目的是什么?看起来它从未在此处的描述中使用过:http: //docs.oracle.com/javase/tutorial/essential/io/notification.html

4

1 回答 1

2

您使用一个Pathregister一个文件,该文件位于Path一个WatchService.

如果发生事件,它将被排入队列,WatchService您可以使用 检索它take()take()对实际情况一无所知Path

是的,aWatchService只会报告Path向它注册的那些 s 的事件。

您可以使用方法WatchKey返回的值与返回值register进行比较。显然,您还可以执行javadoc 中描述的所有事情。WatchKeytake()

于 2014-10-02T15:10:07.793 回答