文件夹监听

文件夹监听器(监听文件夹下所有文件及文件夹) 先介绍一下FileObserver     FileObserver监听事件的类型:     1.CREATE:有新文件创建时触发     2.OPEN:有文件被打开时触发     3.ACCESS:有文件内容被读取时触发,如通过流读取文件内容等     4.MODIFY:文件内容被修改时触发,如粘贴文件等     5.ATTRIB:文件属性被修改,如 chmod、chown、 阅读详情

 当文件夹下的文件有变动时(新增、修改、删除。。。)需要作出相应的处理,如每当在文件夹里插入一个文件就要拿出来解析入库,这时就需要一个文件夹监听的工具。我使用的是----Common-io中的FileAlterationListenerAdaptor,只需要继承该类,并且修改相应的方法即可。


public class FileListener extends FileAlterationListenerAdaptor  {

    /**
     * 此方法必须要被重写,如果不写此方法,监听器将失效
     */
    @Override
    public void onStart(FileAlterationObserver observer) {
        super.onStart(observer);
    }

    @Override
    public void onStop(FileAlterationObserver observer) {
        super.onStop(observer);
    }

    /**
     * 文件创建时执行
     */
    @Override
    public void onFileCreate(File file) {
        System.out.println("有文件新增");
    }

    /**
     * 文件改变时执行
     * @param file
     */
    @Override
    public void onFileChange(File file) {
        System.out.println("有文件改变");
    }

    /**
     * 文件删除时执行
     * @param file
     */
    @Override
    public void onFileDelete(File file) {
        System.out.println("有文件删除");
    }

    }

根据业务需要,在对应的方法里编写对file的处理。

运行:

public static void main(String[] args) {
        //定义文件目录
        String path = "D:/";
        FileAlterationObserver observer = new FileAlterationObserver(path);
        FileListener listener = new FileListener();
        // 为观察对象添加收听对象
        observer.addListener(listener);
        // 配置Monitor,第一个参数单位是毫秒,是监听的间隔;第二个参数就是绑定我们之前的观察对象。
        FileAlterationMonitor fileMonitor = new FileAlterationMonitor(
                1000, observer);
        // / 启动开始监听
        try {
            fileMonitor.start();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

 

common-io-2.0的新功能之文件监控FileAlteration(文件监听的两种实现方法《很全的监听文件例子》) 文件监听中有java自带的fileOberver和fileOberverable这两个通过观察者模式进行监听,例如:在主程序中ResolveFileObserver fileObserver = new ResolveFileObserver(PATH); fileObserver.startWatching();其中ResolveFileObserver 是实现FileObserver类复写s 阅读详情

相关推荐

基于SpringBoot实现的文件监听器

最近有这么个需求,用户期望可以通过修改配置文件,并将数据文件丢到服务器上面,立即读取数据并绘制。由于这个数据我们不能直接拿来就用,需要转一遍格式,而且转换的速度又不是非常快,所以 和师兄们商量着想了个替代方案,异步化处理数据,不是用户点击之后才进行数据的转换,而是先转好,这个数据放内存也不靠谱,肯定要放数据库做持久化的,反正先整着试试。 1、引依赖 <dependency> <groupId>commons-io</groupId&gt

cj1561435010的博客 2125

java实时监控文件,如果文件被修改,每次按行获取文件更新内容

一、概述: 使用java实现对文件的监控功能,当文件发生修改,实时获取更新内容。 1.要求对目标文件实时监控 2.按行读取文件更行内容 3.将获取内容进行落库 二、使用技术: 2.1 commons-io 使用Commons-io的monitor下的相关类可以处理对文件进行监控,它采用的是观察者模式来实现的 (1)可以监控文件夹的创建、删除和修改 (2)可以监控文件的创建、删除和修改 (3)采用的是观察者模式来实现的 (4)采用线程去定时去刷新检测文件的变化情况 2.2 Rand

qq_56044050的博客 1万+

Java文件夹监听

好久没有写博客了,最近一直没有时间,所以补一个博客,前一段时间公司有个项目需要通过sftp的方式往服务器上传txt文件,而且时间都不确定,还需要读txt文件,所以我就写了一个监听,监听文件夹,如果又文件上传过来,就会立即收到,废话不说,直接上代码, 首先maven依赖 <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId>

wojiaohb的博客 1486

ConcurrentLinkedQueue、FileAlterationObserver、FileAlterationMonitor实现实时同步文件的功能

前言 文件同步,有很多种方法,如shell、python语言实现,但是用Java进行实现,可以更加的稳定,及维护,支持更大文件集的监控,备份,归档,复制等…… 用Java进行实现,主要涉及到ConcurrentLinkedQueue、FileAlterationObserver、FileAlterationMonitor等核心类 SynFile主体类 import java.io.Fil...

阿啄debugIT 1459

Python监听指定路径下文件夹变化

在日常工作中,许多任务需要我们监控特定目录,以便实时获取新创建的文件夹。对于目录的创建和删除操作,由于Watchdog将它们视为移动操作,因此通过 on_moved 方法进行捕捉,并检查 event.is_directory 属性以区分是文件还是目录。通过 observer.schedule 方法设置要监控的目录路径和事件处理器,并设置 recursive=True 参数以递归地监控目录内的所有子目录。程序将开始监听指定的目录,一旦有新的文件夹被创建,它会在终端中输出相关信息。库来实现文件夹的监听功能。

孙大圣的博客 1297

Java实现实时监控目录下文件变化的方法

今天小编就为大家分享一篇关于Java实现实时监控目录下文件变化的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

监听文件夹变化

现象: 监听文件夹的变化:如新建、修改、删除文件或者文件夹 方法: 1:创建测试类设置主函数、构造观察类设置监听间隔时间、调用监听文件夹变化 2:构造收听类:对文件夹实现监听事件之后的处理 3:收听重写方法 (1):开始监听和结束监听事件,每隔监听时间会运行一次 (2):目录(文件夹)创建或者删除事件 (3):文件创建、改变、删除事件 4:文件夹信息设置类,设置监听范围是否包含子目录 ...

细节打败一切 2608

AFE芯片做什么用的?AFE(Analog Front End) 模拟前端

AFE采样精度的影响因素非常多,需要综合考虑各种因素,并根据实际应用场景来选择合适的参数和方法。通过减少噪声、提高采样频率、调节放大器增益、降低电源噪声、优化传输线路、进行温度补偿、选择合适的ADC分辨率、根据信号类型选择合适的AFE参数、进行器件匹配和校准等方法,可以提高AFE的采样精度,从而更好地满足各种应用需求。版权声明:本文为优快云博主「czf.Forver」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

学海无涯的专栏 4万+

SpringBoot 动态监听文件夹下新增的文件

首先,本人使用到的框架是springboot框架, 实现的功能:项目在启动的时候监听某个文件下是否有新的文件加进来. package com.nariit.oms.sop.txsbjxsqd.controller; import org.springframework.boot.ApplicationArguments; import org.springframework.boot...

爱码士 的博客 5061

JAVA进阶面试题:如何设计一个高并发系统?

如何设计一个高并发系统? 面试官心理分析 说实话,如果面试官问你这个题目,那么你必须要使出全身吃奶劲了。为啥?因为你没看到现在很多公司招聘的 JD 里都是说啥,有高并发就经验者优先。 如果你确实有真才实学,在互联网公司里干过高并发系统,那你确实拿 offer 基本如探囊取物,没啥问题。面试官也绝对不会这样来问你,否则他就是蠢。 假设你在某知名电商公司干过高并发系统,用户上亿,一天流量几十亿,高峰期并发量上万,甚至是十万。那么人家一定会仔细盘问你的系统架构,你们系统啥架构?怎么部署的?部署了多少台机器

uuop155的博客 1021

当爬虫遇到TikTok滑块:一份给开发者的verifyV2避坑指南与调试心得

本文详细解析了TikTok滑块验证码verifyV2的破解与优化策略,涵盖验证码触发机制、滑块图片获取、验证请求构造及高级调试技巧。通过实战案例和代码示例,帮助开发者有效应对复杂反爬机制,提升验证通过率。特别针对verifyV2系统的加密算法和轨迹模拟提供了专业解决方案。

weixin_30919429的博客 641

SparkStreaming监听windows10下面的文件夹

1、代码 import org.apache.log4j.{Level, Logger} import org.apache.spark.SparkConf import org.apache.spark.streaming.dstream.{DStream, ReceiverInputDStream} import org.apache.spark.streaming.{Seconds, StreamingContext} /** * @Author caoerbiao * @Date 2020/

qq_34673193的博客 1030

各种加法器的比对分析与Verilog实现(3)

了Kogge-Stone加法器和brent-kung加法器,本文将用Verilog代码进行实现。

Albert_yeager的博客 1198

C#监听文件夹内容

public class DataFileSystemWatcher { /// <summary> /// 程序启动 /// </summary> public void StartProcess() { try { ...

Tiger_shl的博客 1839

RK3588 InsightFace人脸识别移植及精度测试全解析

本文详细介绍了如何在RK3588平台上移植InsightFace人脸识别模型并进行精度验证。通过PyTorch转ONNX、ONNX转RKNN量化模型的关键步骤,实现了INT8量化模型的部署。测试数据显示,该模型在LFW数据集上达到99.43%的准确率(接近官方99.52%),推理时间仅14.23ms。ROC曲线和相似度分布图表明模型区分能力优秀,AUC超过0.99,满足实际应用需求。文中还详解了量化原理、环境搭建和测试方法,为边缘设备部署人脸识别提供了完整解决方案。

Hi20240217的博客 3673

别再凭感觉估算!用ADS的EBOND库精确仿真Bonding线寄生电感(附完整参数设置指南)

本文详细介绍了在ADS中使用EBOND库精确仿真Bonding线寄生电感的方法,帮助射频工程师在毫米波频段实现高精度建模。通过三维物理参数和电磁场求解算法,EBOND模型能将误差控制在5%以内,显著提升电路性能。文章还提供了完整的参数设置指南和实战操作步骤,适用于5G毫米波前端模块等高频应用场景。

weixin_28730131的博客 506

WatchService监听一个文件夹下所有层的变化 (新添加的文件也能被监听)

基础 自从JDK7 添加了nio之后 监听一个文件夹里的变动(删除,新增,修改)也变得非常简单. public static void makeWatch(Path targetPath, Consumer&amp;amp;amp;amp;lt;Path&amp;amp;amp;amp;gt; consumer){ try { WatchService watchService = targetPath.getFileSys...

熊猫王2007的博客 4487

手把手教你配置UEFI Secure Boot:从密钥生成到系统验证(附避坑指南)

本文详细介绍了如何配置UEFI Secure Boot,从密钥生成到系统验证的全过程,包括PK、KEK等关键密钥的生成方法,以及常见问题的解决方案。通过实战案例和避坑指南,帮助用户有效提升系统启动安全性,防止恶意软件植入。

weixin_30776273的博客 343

JAVA TimerTask之监听文件夹

<br />    利用TimerTask,当web容器加载的时候初始化文件夹下的文件列表,赋给list1,当时钟进行第二次监听的时候在读出文件夹下的文件列表赋给list2,如果list2大于list1,则说明有新文件加入,然后通过文件的修改时间和web容器加载时的系统时间对比来判断是那个文件被添加进来了,从而完成了对文件夹的监听!具体代码如下:<br />PropertiesListener.java<br />/**<br /> * 文件夹自动监听器<br /> * @author litao<br

hld_hepeng的专栏 2569

【控制模块算法】控制理论的进修之路

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、(经典)自动控制理论【本科阶段】二、现代控制理论【本科阶段】三、最优控制理论【硕士阶段】总结 前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对对控制理论的理解做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章 提示:以下是本篇文章正文内容 一、(经典)自动控制理论【本科阶段】 一般控制工程、自动化相关的考研专业课就是自动

qq_35635374的博客 1448

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

文件夹监听FileListener

需要实现一个功能,监听某一个文件夹,当该文件夹有任何改动时(新增文件、删除文件),能够实时的获取到这条信息。

weiambt的博客 1278

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

FileAlterationListenerAdaptor监听文件和文件夹

背景 项目中有需要监听文件、文件夹的需求,以便在文件、文件夹发生变化时出发相应的业务流程。这里使用Spring Boot + Apache Commons IO方案。 另外,Apache Commons IO涉及到多线程的应用,项目中应指定线程池的相关配置,参考Spring Boot 线程池配置。 步骤 添加依赖 Gradle: buidle.gradle compile('com...

chuixue24的博客 7537

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

java 监听文件或者文件夹变化的几种方式

java 监听文件或者文件夹变化的几种方式 1.log4j的实现的文件内容变化监听 package com.jp.filemonitor; import org.apache.log4j.helpers.FileWatchdog; public class Log4jWatchdog { public static void main(String[] args) { ...

奋斗吧 2724

使用Node.JS监听文件夹变化

使用Node.JS监听文件夹改变有许多应用场合,比如: 构建自动编绎工具 当源文件改变时,自动运行build过程,比如当你写CoffeeScript文件或SASS CSS文件时,保存之后可即时生成对应的JS或CSS. 构建自动布署工具 通过侦听源文件夹的改变,你可以自动即时将改后的文件布署到测试服务器,加快你的开发测试速度。 这些工具其实都需要侦听文件夹的改变,基于Node.JS的侦听文件...

細水、長流√的专栏 2144

java timer监听器_JAVA TimerTask之监听文件夹

利用TimerTask,当web容器加载的时候初始化文件夹下的文件列表,赋给list1,当时钟进行第二次监听的时候在读出文件夹下的文件列表赋给list2,如果list2大于list1,则说明有新文件加入,然后通过文件的修改时间和web容器加载时的系统时间对比来判断是那个文件被添加进来了,从而完成了对文件夹的监听!具体代码如下:PropertiesListener.java/*** 文件夹自动监听器...

weixin_42252122的博客 239

java实时监听文件夹新增文件

我整理的一些关于【java】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://d.51cto.com/bLN8S1Java实时监听文件夹新增文件 在许多应用场景中,我们可能需要实时监控一个文件夹,以便及时处理新增的文件。Java 提供了 java.nio.file 包中的 WatchService 类...

weixin_34266692的博客 543
上一篇: spring-创建自定义监听器
下一篇: java的几种定时器
Coolwindd
博客等级 码龄9年 20粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值