工具类 FileMonitor

package com.ncs.wavtrans.utils;import org.apache.commons.io.monitor.FileAlterationListener;
import org.apache.commons.io.monitor.FileAlterationMonitor;
import org.apache.commons.io.monitor.FileAlterationObserver;import java.io.File;public class FileMonitor {FileAlterationMonitor monitor = null;public FileMonitor(long interval) throws Exception{monitor = new FileAlterationMonitor(interval);}public void monitor(String path,String threadName,FileAlterationListener listener) {//创建观察者FileAlterationObserver observer = new FileAlterationObserver(new File(path));monitor.addObserver(observer);//monitor.setThreadFactory(new BasicThreadFactory.Builder().namingPattern(threadName).daemon(false).build());observer.addListener(listener);}public void stop() throws Exception{monitor.stop();}public void start() throws Exception{monitor.start();}
}

文件监听类

package com.ncs.wavtrans.utils;import org.apache.commons.io.monitor.FileAlterationListener;
import org.apache.commons.io.monitor.FileAlterationObserver;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;import java.io.*;/*** @Description 文件监听类*/
public class FileListener implements FileAlterationListener {//日志private static Logger logger = LoggerFactory.getLogger(FileAlterationListener.class);/*** 轮询开始** @param fileAlterationObserver*/@Overridepublic void onStart(FileAlterationObserver fileAlterationObserver) {}/*** 目录创建** @param file*/@Overridepublic void onDirectoryCreate(File file) {}/*** 目录修改** @param file*/@Overridepublic void onDirectoryChange(File file) {}/*** 目录删除** @param file*/@Overridepublic void onDirectoryDelete(File file) {}/*** 文件创建执行** @param file*/@Overridepublic void onFileCreate(File file) {}/*** 文件修改** @param file*/@Overridepublic void onFileChange(File file) {}/*** 文件创建删除** @param file*/@Overridepublic void onFileDelete(File file) {}/*** 轮询结束** @param fileAlterationObserver*/@Overridepublic void onStop(FileAlterationObserver fileAlterationObserver) {}
}

创建文件目录监视器 (包括该目录下所有的子目录)

                 //监测的局点路径String listener = "E:/user/aaa/";FileMonitor m = null;try {// new FileMonitor(10);  参数为监控间隔时间m = new FileMonitor(10);} catch (Exception e) {logger.error("【监听文件】创建监听对象异常:\n", e);}//监控的文件创建操作m.monitor(listener, juDian, new FileListener() {@Overridepublic void onFileCreate(File file) {// 获取文件名称String fileName = file.getName();// 获取文件目录String filePath = file.getParent();}});

FileAlterationMonitor监听目录下文件变化相关推荐

  1. 【Python|第39期】监听目录取消文件只读属性

    日期:2023年7月17日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海-- 注释:如果您觉得有所帮助,帮忙点个赞,也可以关注我,我们一起成长:如果有不对的地方,还望各位 ...

  2. woo如何监听目录和文件变动,woo目录中的文件被改变,监听文件被修改权限

    记录下woo语言监听文件和和文件夹变动后触发事件 非常完整的例子了. 注意由于文件监听属于工具类,则需要使用wop而不是woo print('file notify')-- 初始化监听实列 local ...

  3. FileSystemWatcher监听资源管理器,监听目录下的创建文件、删除文件、重命名文件

    显示界面 实例化FileSystemWatcher FileSystemWatcher fileSystemWatcher = new FileSystemWatcher(); 初始化FileSyst ...

  4. linux+默认监听+目录,C# 时时监听目录文件改动

    C# 时时监听目录文件改动: public static class DirectoryListen { public static string CountListXmlPath = CountCo ...

  5. 监听mysql表内容变化 使用canal_2 监听mysql表内容变化,使用canal

    mysql本身是支持主从的(master slave),原理就是master产生的binlog日志记录了所有的增删改语句,将binlog发送到slave节点进行执行即可完成数据的同步. canal是阿 ...

  6. Linux中/proc目录下文件详解

    Linux中/proc目录下文件详解(一) 声明:可以自由转载本文,但请务必保留本文的完整性. 作者:张子坚 email:zhangzijian@163.com 说明:本文所涉及示例均在fedora ...

  7. Python监控目录和文件变化

    原文:https://www.cnblogs.com/lcamry/p/8392376.html Python监控目录和文件变化 一.os.listdir import os, time path_t ...

  8. Android开发动态的监听网络状态的变化

    主要思路:使用Android中的四大组件之:BrocastReceiver监听网络状态的变化.接收到网络状态改变的广播之后判断当前的网络是否可用. 创建广播接收器MyNetworkReceiver p ...

  9. Linux中/proc目录下文件详解 /proc/devices文件 /proc/modules文件

    http://blog.chinaunix.net/uid-10449864-id-2956854.html 原来对linux系统中的/proc目录不是很了解,只知道可以查看cpu,内存等相关的信息, ...

最新文章

  1. 黑客基础知识与防护(二)
  2. 莫比乌斯函数+莫比乌斯反演
  3. 第30本:《怎样解题》
  4. 网站内容为王?内容页的优化方法有哪些?
  5. android ondestroy service,android – 在onDestroy()之后仍然运行的IntentService onHandleIntent()...
  6. button标签设置隐藏和显示_离职后我隐藏一张工作表,老板找了一天没找到
  7. C#中的类型转换(转载)
  8. PKU四日游(信息科学夏令营)
  9. 3乘3魔方第四步_三阶魔方第四步
  10. SageX3和车辆排队系统、地磅系统集成方案
  11. 谈 Scratch 版“植物大战僵尸”
  12. 深圳一公司在开源社区表示“要源码上门自取”,引来百万粉大V突袭公司,结果让人意外!...
  13. 分类常用的神经网络模型,典型神经网络模型包括
  14. 等值连接mysql_数据库等值连接,左连接,右连接的区别
  15. 请设计一个宠物社交APP。
  16. 百度地图样式冲突问题
  17. 中日美印四国程序员碰到一起
  18. Intellij IDEA 去除警告波浪线(Weak Warning)
  19. 语音控制单片机(python做的上位机控制arduino)
  20. 微信公众号申请页面获取验证码BUG

热门文章

  1. 麒麟A1手表升级鸿蒙,HUAWEI WATCH GT2首发体验: 首款麒麟A1的手表有多神?14天续航小意思...
  2. 视频教程-SharePoint 2016进阶教程-其他
  3. 树莓派街机乱码--batocera 中文乱码 --RetroArch 中文乱码
  4. Docker-查看镜像仓库中镜像的版本信息
  5. Kotlin调用JavaFx
  6. 如何快速创建vue的SPA项目
  7. 在 MQL5 中寻找趋势的几种方法
  8. 《机器学习实战》chap1 机器学习概览
  9. 企业IT基础设施架构规划
  10. 大学计算机操作题模拟,大学计算机一级模拟操作题1