Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2351215
  • 博文数量: 321
  • 博客积分: 3440
  • 博客等级: 中校
  • 技术积分: 2992
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-24 09:08
个人简介

我就在这里

文章分类

全部博文(321)

文章存档

2015年(9)

2014年(84)

2013年(101)

2012年(25)

2011年(29)

2010年(21)

2009年(6)

2008年(23)

2007年(23)

分类: Java

2014-11-08 19:29:48


  1. package common.io;


  2. import org.apache.commons.io.filefilter.FileFilterUtils;
  3. import org.apache.commons.io.monitor.FileAlterationListener;
  4. import org.apache.commons.io.monitor.FileAlterationMonitor;
  5. import org.apache.commons.io.monitor.FileAlterationObserver;


  6. import java.io.File;
  7. import java.util.concurrent.TimeUnit;


  8. /**
  9.  * Created with IntelliJ IDEA.
  10.  * User: superman
  11.  * Date: 14-1-5
  12.  * Time: 上午11:43
  13.  * To change this template use File | Settings | File Templates.
  14.  */
  15. public class Example3 {
  16.     public static void main(String[] args) throws Exception{
  17.         File directory = new File("D:/test");
  18.         // 轮询间隔 5 秒
  19.         long interval = TimeUnit.SECONDS.toMillis(5);
  20.         // 创建一个文件观察器用于处理文件的格式
  21.         FileAlterationObserver observer = new FileAlterationObserver(directory, FileFilterUtils.and(
  22.                 FileFilterUtils.fileFileFilter(),FileFilterUtils.suffixFileFilter(".txt")));
  23.         //设置文件变化监听器
  24.         observer.addListener(new MyFileListener());
  25.         FileAlterationMonitor monitor = new FileAlterationMonitor(interval,observer);
  26.         monitor.start();
  27.         //Thread.sleep(30000);
  28.         //monitor.stop();
  29.     }
  30. }
  31. final class MyFileListener implements FileAlterationListener{
  32.     @Override
  33.     public void onStart(FileAlterationObserver fileAlterationObserver) {
  34.         System.out.println("monitor start scan files..");
  35.     }


  36.     @Override
  37.     public void onDirectoryCreate(File file) {
  38.         System.out.println(file.getName()+" director created.");
  39.     }


  40.     @Override
  41.     public void onDirectoryChange(File file) {
  42.         System.out.println(file.getName()+" director changed.");
  43.     }


  44.     @Override
  45.     public void onDirectoryDelete(File file) {
  46.         System.out.println(file.getName()+" director deleted.");
  47.     }


  48.     @Override
  49.     public void onFileCreate(File file) {
  50.         System.out.println(file.getName()+" created.");
  51.     }


  52.     @Override
  53.     public void onFileChange(File file) {
  54.         System.out.println(file.getName()+" changed.");
  55.     }


  56.     @Override
  57.     public void onFileDelete(File file) {
  58.         System.out.println(file.getName()+" deleted.");
  59.     }


  60.     @Override
  61.     public void onStop(FileAlterationObserver fileAlterationObserver) {
  62.         System.out.println("monitor stop scanning..");
  63.     }
  64. }

阅读(3340) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~