1. package com.junge.spring.demo.commonio;
  2.  
  3. import org.apache.commons.io.monitor.FileAlterationListenerAdaptor;
  4. import org.apache.commons.io.monitor.FileAlterationMonitor;
  5. import org.apache.commons.io.monitor.FileAlterationObserver;
  6.  
  7. import java.io.File;
  8.  
  9. /**
  10. * 文件监控工具
  11. *
  12. * @author liuxj
  13. * @create 2018-02-11 22:02
  14. */
  15. public class FileMonitorTest {
  16.  
  17. public static void main(String[] args) throws Exception {
  18.  
  19. MyFileLister myFileLister = new MyFileLister();
  20. FileAlterationObserver observer1 = new FileAlterationObserver("I:\\test");
  21. observer1.addListener(myFileLister);
  22.  
  23. FileAlterationMonitor monitor = new FileAlterationMonitor(10000);
  24. monitor.addObserver(observer1);
  25.  
  26. monitor.start();
  27.  
  28. //monitor.stop(); //停止监听
  29. }
  30. }
  31.  
  32. class MyFileLister extends FileAlterationListenerAdaptor {
  33. @Override
  34. public void onStart(FileAlterationObserver observer) {
  35. System.out.println("onStart");
  36. }
  37.  
  38. @Override
  39. public void onDirectoryCreate(File directory) {
  40. System.out.println("onDirectoryCreate");
  41. }
  42.  
  43. @Override
  44. public void onDirectoryChange(File directory) {
  45. System.out.println("onDirectoryChange");
  46. }
  47.  
  48. @Override
  49. public void onDirectoryDelete(File directory) {
  50. System.out.println("onDirectoryDelete");
  51. }
  52.  
  53. @Override
  54. public void onFileCreate(File file) {
  55. System.out.println("onFileCreate,file=" + file.getName());
  56. }
  57.  
  58. @Override
  59. public void onFileChange(File file) {
  60. System.out.println("onFileChange,file=" + file.getName());
  61. }
  62.  
  63. @Override
  64. public void onFileDelete(File file) {
  65. System.out.println("onFileDelete,file=" + file.getName());
  66. }
  67.  
  68. @Override
  69. public void onStop(FileAlterationObserver observer) {
  70. System.out.println("onStop");
  71. }
  72. }

common-io 文件监听例子的更多相关文章

  1. Java:基于MD5的文件监听程序

    前述和需求说明 和之前写的 Python:基于MD5的文件监听程序 是同样的功能,就不啰嗦了,就是又写了一个java版本的,可以移步 python 版本去看一下,整个的核心思路是一样的.代码已上传Gi ...

  2. Python:基于MD5的文件监听程序

    前述 写了一个基于MD5算法的文件监听程序,通过不同的文件能够生成不同的哈希函数,来实现实现判断文件夹中的文件的增加.修改.删除和过滤含有特定字符的文件名的文件. 需求说明 需要实现对一个文件夹下的文 ...

  3. browser-sync 文件监听失败的解决方案

    问题 为了方便实时预览前端开发过程中修改源码后的页面,我在全球最大的同性交友网Github中找到了一个非常实用的工具,browser-sync. 安装使用方式请自行到官网https://browser ...

  4. python 文件监听

    对文件进行监听.过滤 def tail(filename): f = open(file=filename, mode='r', encoding='utf-8') # 打开文件不能用with,因为监 ...

  5. C# 文件监听类 FileSystemWatcher 属性

    属性: Path——这个属性告诉FileSystemWatcher它需要监控哪条路径.例如,如果我们将这个属性设为“C:Temp”,对象就监控那个目录发生的所有改变.IncludeSubDirecto ...

  6. 【监听文件 多线程】使用java--WatchService监听文件 开启多线程copy文件

    有一个小需求: 在PC跟前没有人的时候,迅雷下载文件 至PC磁盘上,并且自动移动文件到U盘上,小主只要在走的时候取走U盘即可. 基于这个需求,有了下面这段代码:[JDK  1.8] package c ...

  7. java 如何实现文件变动的监听

    获取修改时间 long lastTime = file.lastModified(); 原文链接:https://blog.csdn.net/liuyueyi25/article/details/79 ...

  8. 使用path监听指定文件系统的变化

    在以前的JAVA版本中,如果程序需要检测文件的变化,那么需要开辟一个线程每隔一段时间去遍历一次指定的目录,如果发现此次遍历结果和上次不同,那么就认为文件变动了 ,这样的方式非常繁琐,JAVA 7之后的 ...

  9. Linux下修改Oracle监听地址

    如果你的服务器换了ip怎么办? 如果你的服务器换了名字怎么办? 以前的小伙伴怎么办? 以前的老客户怎么办? 没关系,简单教你修改监听地址,老朋友随便找! 想要修改监听地址首先要找到两个文件,确定两样东 ...

随机推荐

  1. leetcode238

    public class Solution { public int[] ProductExceptSelf(int[] nums) { int[] result = new int[nums.Len ...

  2. leetcode338

    public class Solution { public int[] CountBits(int num) { ]; ; i <= num; i++) { ; var cur = i; do ...

  3. This iPhone 6s is running iOS 11.3.1 (15E302), which may not be supported by this version of Xcode.

    This iPhone 6s is running iOS 11.3.1 (15E302), which may not be supported by this version of Xcode.

  4. win2012R2打Windows8.1-KB2919355 问题

    解决方法 https://blog.csdn.net/qwq1503/article/details/65916426

  5. mongodb mongod 启动参数

    我们可以通过mongod --help查看mongod的所有参数说明,以下是各参数的中文解释. 基本配置 –quiet# 安静输出 –port arg# 指定服务端口号,默认端口27017 –bind ...

  6. (转)Detect it Easy(壳侦测工具)使用方法介绍

    http://www.ucbug.com/jiaocheng/129805.html Detect it Easy是一个多功能的PE-DIY工具,主要用于壳侦测.功能正日益完善,是不可多得的破解利器! ...

  7. opencv setTo()

    转载至 作者:跬步达千里 opencv的setTo函数是将图像设置为某个值; 例如: 1.有一个Mat src,想将他的值全部设置成0,则可以src.setTo(0) 2.setTo还有更为高级的用法 ...

  8. Django_Form验证(三)字段,字段的参数,widgets种类

    Form工具是一个很强大的工具,所以他的功能不仅仅是上面2个例子,这里详细记录一下Form的其他功能 字段的一般参数,以CharFields为列子: user=fields.CharField( re ...

  9. javascript中的类型检测

    最常见的是使用 typeof 来判断数据类型 可以区分4种基本类型,即 “number”,”string”,”undefined”,”boolean”,第5种基本类型null类型返回值为object( ...

  10. Individual

    individual 英[ˌɪndɪˈvɪdʒuəl] 美[ˌɪndəˈvɪdʒuəl] adj. 个人的; 个别的; 独特的; n. 个人; 个体; [例句]They wait for the gr ...