package com.lxzn.backpass; import com.lxzn.framework.utils.file.FileUtil; import com.lxzn.nc.service.IDocInfoService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.monitor.FileAlterationListener; import org.apache.commons.io.monitor.FileAlterationObserver; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.io.File; /** * @author clown * * @date 2023/5/25 */ @Slf4j @Component public class FileListener implements FileAlterationListener { @Autowired private IDocInfoService docInfoService; @Override public void onStart(FileAlterationObserver fileAlterationObserver) { File directory = fileAlterationObserver.getDirectory(); /*log.info("开始监听..." + directory);*/ } // 文件创建执行 @Override public void onFileCreate(File file) { /*log.info("[新建]:" + file.getAbsolutePath());*/ Integer recNum = file.getAbsolutePath().lastIndexOf("\\rec\\"); if (recNum == -1) { return; } boolean b = docInfoService.addDocInfoRec(file.getAbsolutePath(),file); if (b ) { boolean c = FileUtil.copyFileRec(file.getAbsolutePath()); if (c) { FileUtil.fileRecDelete(file.getAbsolutePath()); } } } // 文件创建修改 @Override public void onFileChange(File file) { log.info("[修改]:" + file.getAbsolutePath()); // 触发业务 // listenerService.doSomething(); } // 文件创建删除 @Override public void onFileDelete(File file) { log.info("[删除]:" + file.getAbsolutePath()); } // 目录创建 @Override public void onDirectoryCreate(File directory) { log.info("[目录创建]:" + directory.getAbsolutePath()); } // 目录修改 @Override public void onDirectoryChange(File directory) { log.info("[目录修改]:" + directory.getAbsolutePath()); } // 目录删除 @Override public void onDirectoryDelete(File directory) { log.info("[目录删除]:" + directory.getAbsolutePath()); } @Override public void onStop(FileAlterationObserver fileAlterationObserver) { File directory = fileAlterationObserver.getDirectory(); /*log.info("结束监听..." + directory);*/ } }