当文件系统中的对象被修改时,我们可以监听watch服务以获取警报。java.nio.file包中的以下类和接口提供watch服务。
-
Watchable接口
-
WatchService接口
-
WatchKey接口
-
WatchEvent接口
-
WatchEvent.Kind接口
-
StandardWatchEventKinds类
Watchable对象表示可以被监视的文件系统对象。Watchable对象可以向watch服务注册。Path对象是一个Watchable对象。
WatchService表示观察服务。当一个对象使用WatchService注册时,WatchService返回一个WatchKey作为注册的令牌。WatchEvent表示注册到监视服务的对象上的事件。 它的kind()方法返回发生的事件的类型。
它的context()方法返回一个Path对象,它表示事件发生的条目。count()方法返回特定通知的事件发生次数。 如果它返回的值大于1,那么它是一个重复的事件。
WatchEvent.Kind <T>表示发生的事件的类型。StandardWatchEventKinds类定义了用于表示事件种类的常量,如下所示。