java - 检查目录是否注册到任何观察者服务?

标签 java

作为我的应用程序的一部分,我需要向观察者服务注册多个目录。每当目录发生变化时,我都会收到观察者服务的通知。我的要求是,对于给定的目录,有什么方法可以知道该目录是否注册到任何观察者服务?我的意思是,我

Path path = new File("/Users/myDoc").toPath();
WatchKey key = dir.register(watcher, ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY);

public static boolean isDirectoryRegisteredToAnyWatcherService(Path path){
    //Return true, if this directory is registered to any watcher service, else false.
}

引用

https://docs.oracle.com/javase/7/docs/api/java/nio/file/WatchService.html

最佳答案

查看 java.nio.file API 我怀疑这可以通过标准方法调用来完成。 WatchService对象似乎包含了一个HashMap中注册的路径,里面叫做wdToKey;我最好的想法是循环程序中所有现有的 WatchService 对象,尝试使用反射检索它们的内部内容,并检查它们中是否有任何包含相关的 Path

关于java - 检查目录是否注册到任何观察者服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39915007/

相关文章:

Java - 用反射实例化不起作用

java - Spring Boot - log4j2.properties 创建日志文件但不将日志写入文件

java - GUI netbeans、数组和 jlist

java - 从不同字符的字符串返回整数

java - 使用 spring 的多对多 xml 关系在所有者对象中给出相同的对象

java - 如何在 Javadoc 中禁用特定类型的缺少注释警告?

java - 如何将字节或流写入 Apache Camel FTP 以传输文件

java - 类/对象转换

java - 将 jar 文件安装到 Tomcat Web 应用程序

java - 调整大小后 JLabel 文本在 JPanel 中消失