我向我的watchService注册了一个文件夹:

path.register(watchService, ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY);


稍后,我想取消此注册。我知道我需要以某种方式告诉watchService我要取消哪个WatchKey。什么是实现此目的的正确功能?

最佳答案

您可以在Watchable接口javadoc中获得信息,该接口提供了注册Watchable对象(例如Path实例)的方法。



公共界面可观看


  该接口定义了注册方法,用于向其注册对象
  一个WatchService返回一个WatchKey代表注册。一个
  对象可能已在多个监视服务中注册。
  通过调用钥匙的钥匙来取消手表服务的注册。
  取消方法。




因此,您只需要做:

WatchKey watchKey = path.register(watchService, ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY);
...
watchKey.cancel();

10-01 14:19