zoukankan      html  css  js  c++  java
  • java读取某个目录是否有新增文件(轮询)

    使用 commons-io 中的文件监控

    jar包:

    package org.demo.file;
    
    import java.util.concurrent.TimeUnit;
    import org.apache.commons.io.filefilter.FileFilterUtils;
    import org.apache.commons.io.monitor.FileAlterationMonitor;
    import org.apache.commons.io.monitor.FileAlterationObserver;
    
    /**
     * 文件监控测试
     * @author  
     * @date    2010-11-16
     * @file    org.demo.file.FileMonitor.java
     */
    public class FileMonitorTest {
    
        /**
         * @param args
         * @throws Exception 
         */
        public static void main(String[] args) throws Exception {
            // 监控目录
            String rootDir = "d:\Temp";
            // 轮询间隔 5 秒
            long interval = TimeUnit.SECONDS.toMillis(5);
            // 
            FileAlterationObserver observer = new FileAlterationObserver(
                                                  rootDir, 
                                                  FileFilterUtils.and(
                                                  FileFilterUtils.fileFileFilter(),
                                                  FileFilterUtils.suffixFileFilter(".java")), 
                                                  null);
            observer.addListener(new MyFileListener());
            FileAlterationMonitor monitor = new FileAlterationMonitor(interval,observer);
            // 开始监控
            monitor.start();
        }
    }
    package org.demo.file;
    
    import java.io.File;
    import org.apache.commons.io.monitor.FileAlterationListenerAdaptor;
    
    /**
     * 自定义文件监听器
     * @author  
     * @date    2010-11-16
     * @file    org.demo.file.MyFileListener.java
     */
    public class MyFileListener extends FileAlterationListenerAdaptor{
        @Override
        public void onFileCreate(File file) {
            System.out.println("[新建]:" + file.getAbsolutePath());
        }
        @Override
        public void onFileChange(File file) {
            System.out.println("[修改]:" + file.getAbsolutePath());
        }
        @Override
        public void onFileDelete(File file) {
            System.out.println("[删除]:" + file.getAbsolutePath());
        }
    }
  • 相关阅读:
    WPF线程调用UI元素
    WPF使用阿里巴巴矢量图标图ttf
    WPF读取Excel表格数据到DataGrid
    WPF开发的软件在触摸屏当操作遇到边界时
    WPF 全局样式(滚动条)
    WPF TextBox文本自动换行
    Maven : Cannot download sources
    nginx关闭后仍然能够访问localhost:80
    微信公众号开发总结
    CAT window10 本地安装
  • 原文地址:https://www.cnblogs.com/henuyuxiang/p/7485974.html
Copyright © 2011-2022 走看看