• Java实现监控目录下文件变化


    监控目录下的文件的变化,使用的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();
            }
        }
    }
  • 相关阅读:
    stylus 安装
    Vue中img的src属性绑定与static文件夹
    vue-cli的build的文件夹下没有dev-server.js文件,怎么配置mock数据
    easyui中的datebox空间,起始时间不受限制,终止时间不能选择起始时间选中的时间靠前的时间
    python实现文件下载图片视频
    python爬虫 urllib库基本使用
    python面向对象的三大特征
    常见网页状态码
    说说为什么会有ssl.CertificateError报错
    python-魔术方法
  • 原文地址:https://www.cnblogs.com/swbzmx/p/5623819.html
Copyright © 2020-2023  润新知