public class WatchMonitor
extends java.lang.Thread
implements java.io.Closeable
| 限定符和类型 | 字段和说明 |
|---|---|
static java.nio.file.WatchEvent.Kind<?> |
ENTRY_CREATE
创建事件
|
static java.nio.file.WatchEvent.Kind<?> |
ENTRY_DELETE
删除事件
|
static java.nio.file.WatchEvent.Kind<?> |
ENTRY_MODIFY
修改事件
|
static java.nio.file.WatchEvent.Kind<?>[] |
EVENTS_ALL
全部事件
|
static java.nio.file.WatchEvent.Kind<?> |
OVERFLOW
事件丢失
|
| 构造器和说明 |
|---|
WatchMonitor(java.io.File file,
java.nio.file.WatchEvent.Kind<?>... events)
构造
|
WatchMonitor(java.nio.file.Path path,
int maxDepth,
java.nio.file.WatchEvent.Kind<?>... events)
构造
例如设置: maxDepth <= 1 表示只监听当前目录 maxDepth = 2 表示监听当前目录以及下层目录 maxDepth = 3 表示监听当前目录以及下层 |
WatchMonitor(java.nio.file.Path path,
java.nio.file.WatchEvent.Kind<?>... events)
构造
|
WatchMonitor(java.lang.String path,
java.nio.file.WatchEvent.Kind<?>... events)
构造
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
close()
关闭监听
|
static WatchMonitor |
create(java.io.File file,
int maxDepth,
java.nio.file.WatchEvent.Kind<?>... events)
创建并初始化监听
|
static WatchMonitor |
create(java.io.File file,
java.nio.file.WatchEvent.Kind<?>... events)
创建并初始化监听
|
static WatchMonitor |
create(java.nio.file.Path path,
int maxDepth,
java.nio.file.WatchEvent.Kind<?>... events)
创建并初始化监听
|
static WatchMonitor |
create(java.nio.file.Path path,
java.nio.file.WatchEvent.Kind<?>... events)
创建并初始化监听
|
static WatchMonitor |
create(java.lang.String path,
int maxDepth,
java.nio.file.WatchEvent.Kind<?>... events)
创建并初始化监听
|
static WatchMonitor |
create(java.lang.String path,
java.nio.file.WatchEvent.Kind<?>... events)
创建并初始化监听
|
static WatchMonitor |
create(java.net.URI uri,
int maxDepth,
java.nio.file.WatchEvent.Kind<?>... events)
创建并初始化监听
|
static WatchMonitor |
create(java.net.URI uri,
java.nio.file.WatchEvent.Kind<?>... events)
创建并初始化监听
|
static WatchMonitor |
create(java.net.URL url,
int maxDepth,
java.nio.file.WatchEvent.Kind<?>... events)
创建并初始化监听
|
static WatchMonitor |
create(java.net.URL url,
java.nio.file.WatchEvent.Kind<?>... events)
创建并初始化监听
|
static WatchMonitor |
createAll(java.io.File file,
Watcher watcher)
创建并初始化监听,监听所有事件
|
static WatchMonitor |
createAll(java.nio.file.Path path,
Watcher watcher)
创建并初始化监听,监听所有事件
|
static WatchMonitor |
createAll(java.lang.String path,
Watcher watcher)
创建并初始化监听,监听所有事件
|
static WatchMonitor |
createAll(java.net.URI uri,
Watcher watcher)
创建并初始化监听,监听所有事件
|
static WatchMonitor |
createAll(java.net.URL url,
Watcher watcher)
创建并初始化监听,监听所有事件
|
void |
init()
初始化
初始化包括: 1、解析传入的路径,判断其为目录还是文件 2、创建 WatchService 对象
|
void |
run() |
WatchMonitor |
setMaxDepth(int maxDepth)
当监听目录时,监听目录的最大深度
当设置值为1(或小于1)时,表示不递归监听子目录 例如设置: maxDepth <= 1 表示只监听当前目录 maxDepth = 2 表示监听当前目录以及下层目录 maxDepth = 3 表示监听当前目录以及下层 |
WatchMonitor |
setWatcher(Watcher watcher)
设置监听
多个监听请使用 WatcherChain |
void |
watch()
开始监听事件,阻塞当前进程
|
void |
watch(Watcher watcher)
开始监听事件,阻塞当前进程
|
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yieldpublic static final java.nio.file.WatchEvent.Kind<?> OVERFLOW
public static final java.nio.file.WatchEvent.Kind<?> ENTRY_MODIFY
public static final java.nio.file.WatchEvent.Kind<?> ENTRY_CREATE
public static final java.nio.file.WatchEvent.Kind<?> ENTRY_DELETE
public static final java.nio.file.WatchEvent.Kind<?>[] EVENTS_ALL
public WatchMonitor(java.io.File file,
java.nio.file.WatchEvent.Kind<?>... events)
file - 文件events - 监听的事件列表public WatchMonitor(java.lang.String path,
java.nio.file.WatchEvent.Kind<?>... events)
path - 字符串路径events - 监听的事件列表public WatchMonitor(java.nio.file.Path path,
java.nio.file.WatchEvent.Kind<?>... events)
path - 字符串路径events - 监听事件列表public WatchMonitor(java.nio.file.Path path,
int maxDepth,
java.nio.file.WatchEvent.Kind<?>... events)
maxDepth <= 1 表示只监听当前目录 maxDepth = 2 表示监听当前目录以及下层目录 maxDepth = 3 表示监听当前目录以及下层
path - 字符串路径maxDepth - 递归目录的最大深度,当小于2时不递归下层目录events - 监听事件列表public static WatchMonitor create(java.net.URL url, java.nio.file.WatchEvent.Kind<?>... events)
url - URLevents - 监听的事件列表public static WatchMonitor create(java.net.URL url, int maxDepth, java.nio.file.WatchEvent.Kind<?>... events)
url - URLevents - 监听的事件列表maxDepth - 当监听目录时,监听目录的最大深度,当设置值为1(或小于1)时,表示不递归监听子目录public static WatchMonitor create(java.net.URI uri, java.nio.file.WatchEvent.Kind<?>... events)
uri - URIevents - 监听的事件列表public static WatchMonitor create(java.net.URI uri, int maxDepth, java.nio.file.WatchEvent.Kind<?>... events)
uri - URIevents - 监听的事件列表maxDepth - 当监听目录时,监听目录的最大深度,当设置值为1(或小于1)时,表示不递归监听子目录public static WatchMonitor create(java.io.File file, java.nio.file.WatchEvent.Kind<?>... events)
file - 文件events - 监听的事件列表public static WatchMonitor create(java.io.File file, int maxDepth, java.nio.file.WatchEvent.Kind<?>... events)
file - 文件events - 监听的事件列表maxDepth - 当监听目录时,监听目录的最大深度,当设置值为1(或小于1)时,表示不递归监听子目录public static WatchMonitor create(java.lang.String path, java.nio.file.WatchEvent.Kind<?>... events)
path - 路径events - 监听的事件列表public static WatchMonitor create(java.lang.String path, int maxDepth, java.nio.file.WatchEvent.Kind<?>... events)
path - 路径events - 监听的事件列表maxDepth - 当监听目录时,监听目录的最大深度,当设置值为1(或小于1)时,表示不递归监听子目录public static WatchMonitor create(java.nio.file.Path path, java.nio.file.WatchEvent.Kind<?>... events)
path - 路径events - 监听事件列表public static WatchMonitor create(java.nio.file.Path path, int maxDepth, java.nio.file.WatchEvent.Kind<?>... events)
path - 路径events - 监听事件列表maxDepth - 当监听目录时,监听目录的最大深度,当设置值为1(或小于1)时,表示不递归监听子目录public static WatchMonitor createAll(java.net.URI uri, Watcher watcher)
uri - URIwatcher - WatcherWatchMonitorpublic static WatchMonitor createAll(java.net.URL url, Watcher watcher)
url - URLwatcher - WatcherWatchMonitorpublic static WatchMonitor createAll(java.io.File file, Watcher watcher)
file - 被监听文件watcher - WatcherWatchMonitorpublic static WatchMonitor createAll(java.lang.String path, Watcher watcher)
path - 路径watcher - WatcherWatchMonitorpublic static WatchMonitor createAll(java.nio.file.Path path, Watcher watcher)
path - 路径watcher - WatcherWatchMonitorpublic void init()
throws WatchException
1、解析传入的路径,判断其为目录还是文件
2、创建WatchService 对象
WatchException - 监听异常,IO异常时抛出此异常public WatchMonitor setWatcher(Watcher watcher)
WatcherChainwatcher - 监听WatchMonitorpublic void run()
run 在接口中 java.lang.Runnablerun 在类中 java.lang.Threadpublic void watch()
public void watch(Watcher watcher) throws WatchException
watcher - 监听WatchException - 监听异常,如果监听关闭抛出此异常public WatchMonitor setMaxDepth(int maxDepth)
maxDepth <= 1 表示只监听当前目录 maxDepth = 2 表示监听当前目录以及下层目录 maxDepth = 3 表示监听当前目录以及下层
maxDepth - 最大深度,当设置值为1(或小于1)时,表示不递归监听子目录,监听所有子目录请传Integer.MAX_VALUEpublic void close()
close 在接口中 java.io.Closeableclose 在接口中 java.lang.AutoCloseableCopyright © 2018. All rights reserved.