Java 如何使用WatchService监视多个目录?
我不明白,你怎么知道Java 如何使用WatchService监视多个目录?,java,nio,watchservice,Java,Nio,Watchservice,我不明白,你怎么知道 watcher.take(); 您知道要报告哪个目录吗?它是否报告它所注册的每个目录 dir.register(watcher... 如果我有多个观察者,他们会只报告那些针对他们注册的目录吗 收益价值的目的是什么?这里的描述中似乎从未使用过它:您使用一个路径到一个监视服务的路径所定位的文件 如果发生事件,它将在WatchService中排队,您可以使用检索它take()不知道实际的路径 是的,WatchService将只报告向其注册的Paths的事件 您可以使用regi
watcher.take();
您知道要报告哪个目录吗?它是否报告它所注册的每个目录
dir.register(watcher...
如果我有多个观察者,他们会只报告那些针对他们注册的目录吗
收益价值的目的是什么?这里的描述中似乎从未使用过它:您使用一个
路径
到一个监视服务
的路径所定位的文件
如果发生事件,它将在WatchService
中排队,您可以使用检索它take()
不知道实际的路径
是的,WatchService
将只报告向其注册的Path
s的事件
您可以使用register
方法返回的WatchKey
与take()
返回的WatchKey
进行比较。显然,您还可以执行所有操作比较register返回的watchkey和take返回的watchkey有什么意义?@SuzanCioc这是一个标识符。您可以直接比较它,而不是从WatchKey
获取Watchable
,比如您对其中一个注册的Watchable
有一些特殊行为。我不明白。在某些情况下,手表按键是否相等?在哪种情况下?@SuzanCioc当您注册一个路径时,您会得到一个监视键。如果相同的路径发生监视的事件,则take()
将返回相同的WatchKey
实例。