使用 hutool
工具类中的 WatchMonitor
发现对于多层级的目录会发生占用的情况,所以另寻蹊径,找到了 commons-io
包下的文件监控,并经过测试没有发现 hutool
工具类中所存在的问题,特此提供如下代码供有需要的人参考。
引入依赖
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.17.0</version>
</dependency>
示例代码
package com.stronglink.filewatch.service;
import com.stronglink.condition.FilewatchCondition;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.filefilter.FileFilterUtils;
import org.apache.commons.io.filefilter.HiddenFileFilter;
import org.apache.commons.io.filefilter.IOFileFilter;
import org.apache.commons.io.monitor.FileAlterationListener;
import org.apache.commons.io.monitor.FileAlterationMonitor;
import org.apache.commons.io.mo