如何在Java9中指定FileWatcher修饰符?

如何在Java9中指定FileWatcher修饰符?,java,java-9,Java,Java 9,在Java8中,Java.nio.file.WatchEvent.Modifier没有任何实现,正如它自己的Javadocs所说:这个版本没有定义任何标准的修饰符。 Java9似乎也没有提供任何功能 但是在Java8中,我仍然能够使用非标准的com.sun.nio.file.SensitivityWatchEventModifier.HIGH,这样我的文件监视程序的响应速度会更快(没有它,需要几秒钟才能收到通知,这是不可接受的) 在Java9中,由于这是一个内部API,所以会中断 有没有办法在J

在Java8中,
Java.nio.file.WatchEvent.Modifier没有任何实现,正如它自己的Javadocs所说:
这个版本没有定义任何标准的修饰符。

Java9似乎也没有提供任何功能

但是在Java8中,我仍然能够使用非标准的
com.sun.nio.file.SensitivityWatchEventModifier.HIGH
,这样我的文件监视程序的响应速度会更快(没有它,需要几秒钟才能收到通知,这是不可接受的)

在Java9中,由于这是一个内部API,所以会中断


有没有办法在Java9中提供一个修饰符,以便在不使用不受支持的API的情况下工作?如果没有,为什么他们认为不为此提供任何配置是个好主意?

com.sun.nio.file由jdk.unsupported模块导出。你遇到了什么问题?正如我在问题中所说的,我希望避免使用
不支持的
东西。没有标准的修饰符。它位于jdk.unsupport模块中,因为没有适合这些扩展的模块。如果macos上有WatchService的本机实现,那么我认为对基于轮询的watcher的需求将基本消失。不管是否有办法访问非标准修饰符,您的最后一个问题都很有意义。另一个问题是,为什么这个接口只是封装了一个名称。使用字符串作为选项,允许实现忽略未知选项,这将更有意义……您不应该使用任何--add exports或--add opens,它应该可以工作,因为com.sun.nio.file已导出(请参见JEP 260)。我假设最初的问题是有人想知道为什么这个扩展是由jdk.unsupported模块而不是另一个jdk.*模块导出的。