public class WatchMonitor extends Thread implements Closeable, Serializable
监听器可监听目录或文件
如果监听的Path不存在,则递归创建空目录然后监听此空目录
递归监听目录时,并不会监听新创建的目录
Thread.State, Thread.UncaughtExceptionHandler
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
Constructor and Description |
---|
WatchMonitor(Path dir,
int maxDepth,
WatchEvent.Kind<?>... events)
构造
例如设置: maxDepth <= 1 表示只监听当前目录 maxDepth = 2 表示监听当前目录以及下层目录 maxDepth = 3 表示监听当前目录以及下两层 |
WatchMonitor(Path dir,
WatchEvent.Kind<?>... events)
构造
|
Modifier and Type | Method and Description |
---|---|
void |
close() |
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, yield
public WatchMonitor(Path dir, WatchEvent.Kind<?>... events)
dir
- 字符串路径events
- 监听事件列表,如创建、修改和删除等public WatchMonitor(Path dir, int maxDepth, WatchEvent.Kind<?>... events)
maxDepth <= 1 表示只监听当前目录 maxDepth = 2 表示监听当前目录以及下层目录 maxDepth = 3 表示监听当前目录以及下两层
dir
- 路径maxDepth
- 递归目录的最大深度,当小于2时不递归下层目录events
- 监听事件列表,如创建、修改和删除等public WatchMonitor setWatcher(Watcher watcher)
WatcherChain
watcher
- 监听public 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_VALUE
public void close()
close
in interface Closeable
close
in interface AutoCloseable
Copyright © 2025. All rights reserved.