Java实现监控目录下文件变化
2016-06-28 16:02
696 查看
监控目录下的文件的变化,使用的onFilexxx事件,而非onDirectoryxxx事件
可以直接运行的代码:
可以直接运行的代码:
import java.io.File; import java.io.FileFilter; import org.apache.commons.io.monitor.FileAlterationListenerAdaptor; import org.apache.commons.io.monitor.FileAlterationMonitor; import org.apache.commons.io.monitor.FileAlterationObserver; /** * @author root * */ public class MyFileListener extends FileAlterationListenerAdaptor { /** * File system observer started checking event. */ @Override public void onStart(FileAlterationObserver observer) { super.onStart(observer); System.out.println("begin"); } /** * File system observer finished checking event. */ @Override public void onStop(FileAlterationObserver observer) { super.onStop(observer); System.out.println("end"); } @Override public void onFileCreate(File file) { System.out.println("onFileCreate:" + file.getName()); } @Override public void onFileChange(File file) { System.out.println("onFileChange : " + file.getName()); } public static void main(String[] args) { try { // 构造观察类主要提供要观察的文件或目录,当然还有详细信息的filter FileAlterationObserver observer = new FileAlterationObserver("/home/share/", new FileFilter() { @Override public boolean accept(File pathname) { return true; } }); MyFileListener listener = new MyFileListener(); // 为观察对象添加收听对象 observer.addListener(listener); // 配置Monitor,第一个参数单位是毫秒,是监听的间隔;第二个参数就是绑定我们之前的观察对象。 FileAlterationMonitor fileMonitor = new FileAlterationMonitor(3000, new FileAlterationObserver[] { observer }); // 启动开始监听 fileMonitor.start(); } catch (Exception e) { e.printStackTrace(); } } }
相关文章推荐
- [改善Java代码]不使用stop方法停止线程
- Spring的事务管理
- spring事务管理几种方式
- spring-mvc加载静态资源文件
- POI-HSSF and POI-XSSF - Java API To Access Microsoft Excel Format Files
- QRcode生成二维码java
- 西安尚学堂告诉你java开发为什么不要过分依赖框架
- Spring IoC知识点整理
- 从事java开发行业,如何从优秀变为卓越
- spring boot 学习笔记(005)返回json对象
- slf4j 和 log4j合用的(Maven)配置
- c:forEach 两列显示图片
- Eclipse 项目XXXX cannot be resolved 问题
- Java空字符串与null区别
- java中File文件路径跨平台(File.separator)
- Java书写的RAS加密解密
- java Md5加密工具类
- poi操作ppt,XSLFTableCell.setText报错:java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
- Springmvc静态资源过滤
- java常用的排序算法的思想以及实现