码迷,mamicode.com
首页 > 编程语言 > 详细

java读取某个目录是否有新增文件(轮询)

时间:2017-09-06 18:19:07      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:ges   rri   long   string   util   开始   ada   tabs   public   

使用 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());
    }
}

java读取某个目录是否有新增文件(轮询)

标签:ges   rri   long   string   util   开始   ada   tabs   public   

原文地址:http://www.cnblogs.com/henuyuxiang/p/7485974.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!