zoukankan      html  css  js  c++  java
  • 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();
            }
        }
    }
  • 相关阅读:
    slurm.conf系统初始配置
    MySQL数据库服务器(YUM)安装
    Slurm任务调度系统部署和测试(源码)(1)
    并行管理工具——pdsh
    Munge服务部署和测试
    NTP服务部署和测试
    LDAP-openldap服务部署和测试(YUM安装)
    KVM虚拟机管理——虚拟机创建和操作系统安装
    KVM虚拟机管理——虚拟机克隆
    KVM虚拟化环境准备
  • 原文地址:https://www.cnblogs.com/swbzmx/p/5623819.html
Copyright © 2011-2022 走看看