当文件系统中的对象被修改时,我们可以监听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
类定义了用于表示事件种类的常量,如下所示。