mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
新增 文件监听 WatchServer 新增通过 Path 获取 WatchKey 方法
This commit is contained in:
parent
674c601f86
commit
95f37beb66
@ -3,6 +3,7 @@ package cn.hutool.core.io.watch;
|
|||||||
import cn.hutool.core.io.IoUtil;
|
import cn.hutool.core.io.IoUtil;
|
||||||
import cn.hutool.core.lang.Filter;
|
import cn.hutool.core.lang.Filter;
|
||||||
import cn.hutool.core.util.ArrayUtil;
|
import cn.hutool.core.util.ArrayUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
|
||||||
import java.io.Closeable;
|
import java.io.Closeable;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -163,7 +164,7 @@ public class WatchServer extends Thread implements Closeable, Serializable {
|
|||||||
* @param watchFilter 监听过滤接口,通过实现此接口过滤掉不需要监听的情况,null表示不过滤
|
* @param watchFilter 监听过滤接口,通过实现此接口过滤掉不需要监听的情况,null表示不过滤
|
||||||
*/
|
*/
|
||||||
public void watch(Watcher watcher, Filter<WatchEvent<?>> watchFilter) {
|
public void watch(Watcher watcher, Filter<WatchEvent<?>> watchFilter) {
|
||||||
watch((event, currentPath)->{
|
watch((event, currentPath) -> {
|
||||||
final WatchEvent.Kind<?> kind = event.kind();
|
final WatchEvent.Kind<?> kind = event.kind();
|
||||||
|
|
||||||
if (kind == WatchKind.CREATE.getValue()) {
|
if (kind == WatchKind.CREATE.getValue()) {
|
||||||
@ -178,6 +179,21 @@ public class WatchServer extends Thread implements Closeable, Serializable {
|
|||||||
}, watchFilter);
|
}, watchFilter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过 path 获取 watchKey
|
||||||
|
*
|
||||||
|
* @param path path
|
||||||
|
* @return 如果不存在则返回 null
|
||||||
|
*/
|
||||||
|
public WatchKey getWatchKey(Path path) {
|
||||||
|
for (Map.Entry<WatchKey, Path> entry : watchKeyPathMap.entrySet()) {
|
||||||
|
if (ObjectUtil.equals(path, entry.getValue())) {
|
||||||
|
return entry.getKey();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 关闭监听
|
* 关闭监听
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user