java - 如何从 Java watchservice 注销目录?

标签 java nio watchservice

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

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

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

最佳答案

Watchable 接口(interface) javadoc 中的信息提供了注册 Watchable 对象(例如 Path 实例)的方法 < br/>


公共(public)界面可观看

This interface defines the register method to register the object with a WatchService returning a WatchKey to represent the registration. An object may be registered with more than one watch service. Registration with a watch service is cancelled by invoking the key's cancel method.


所以你只需要做:

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

关于java - 如何从 Java watchservice 注销目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43950919/

相关文章:

java - 观察者模式: delay action after event trigger

java - 组件不会在小程序中调整大小

Java - 在不关闭的情况下中断 I/O

Java I/O : Ensure a file is not locked by another process before any r/w operation

java - WatchService WatchEvent .context() 方法在 ENTRY_MODIFY 上返回不一致的文件相对路径(goutputstream-####,Linux 操作系统)

Java服务器从大量客户端接收文件

java - 用于不同 API 的同一 DTO 上的 Spring Boot 请求主体验证

java - 关于解决方案的问题

java - Java 中 System.out.println 的奇怪行为

java - 使用FileSystemProvider实现FTP文件系统