refer to:
http://exceptioneye.iteye.com/blog/1702592
package FileMonitor;
import java.io.File;
import org.apache.commons.io.monitor.FileAlterationListenerAdaptor;
import org.apache.commons.io.monitor.FileAlterationObserver;
/**
* 文件变化监听器
*
* 在Apache的Commons-IO中有关于文件的监控功能的代码. 文件监控的原理如下:
* 由文件监控类FileAlterationMonitor中的线程不停的扫描文件观察器FileAlterationObserver,
* 如果有文件的变化,则根据相关的文件比较器,判断文件时新增,还是删除,还是更改。(默认为1000毫秒执行一次扫描)
*
* @author wy
*
*/
public class FileListener 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());
}
/**
* 目录创建
*/
@Override
public void onDirectoryCreate(File directory) {
System.out.println("[新建]:" + directory.getAbsolutePath());
}
/**
* 目录修改
*/
@Override
public void onDirectoryChange(File directory) {
System.out.println("[修改]:" + directory.getAbsolutePath());
}
/**
* 目录删除
*/
@Override
public void onDirectoryDelete(File directory) {
System.out.println("[删除]:" + directory.getAbsolutePath());
}
@Override
public void onStart(FileAlterationObserver observer) {
// TODO Auto-generated method stub
super.onStart(observer);
}
@Override
public void onStop(FileAlterationObserver observer) {
// TODO Auto-generated method stub
super.onStop(observer);
}
}
package FileMonitor;
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;
/**
* 文件监控测试
*
* 在Apache的Commons-IO中有关于文件的监控功能的代码. 文件监控的原理如下:
* 由文件监控类FileAlterationMonitor中的线程不停的扫描文件观察器FileAlterationObserver,
* 如果有文件的变化,则根据相关的文件比较器,判断文件时新增,还是删除,还是更改。(默认为1000毫秒执行一次扫描)
*
* @author wy
*
*/
public class FileMonitorTest {
/**
* @param args
*/
public static void main(String[] args) throws Exception{
// 监控目录
String rootDir = "D:\\filemonitor";
// 轮询间隔 5 秒
long interval = TimeUnit.SECONDS.toMillis(5);
// 创建一个文件观察器用于处理文件的格式
FileAlterationObserver _observer = new FileAlterationObserver(
rootDir,
FileFilterUtils.and(
FileFilterUtils.falseFileFilter(), FileFilterUtils.fileFileFilter(),
FileFilterUtils.suffixFileFilter(".txt")), //过滤文件格式
null);
FileAlterationObserver observer = new FileAlterationObserver(rootDir);
observer.addListener(new FileListener()); //设置文件变化监听器
//创建文件变化监听器
FileAlterationMonitor monitor = new FileAlterationMonitor(interval, observer);
// 开始监控
monitor.start();
}
}
分享到:
相关推荐
赠送jar包:commons-io-2.8.0.jar; 赠送原API文档:commons-io-2.8.0-javadoc.jar; 赠送源代码:commons-io-2.8.0-sources.jar; 赠送Maven依赖信息文件:commons-io-2.8.0.pom; 包含翻译后的API文档:commons-io...
赠送jar包:commons-io-2.11.0.jar; 赠送原API文档:commons-io-2.11.0-javadoc.jar; 赠送源代码:commons-io-2.11.0-sources.jar; 赠送Maven依赖信息文件:commons-io-2.11.0.pom; 包含翻译后的API文档:...
Apache Commons IO是一个非常重要的Java库,它提供了大量的实用工具类,用于处理输入/输出操作。在标题中提到的"commons-io-2.11.0-bin.zip"是Apache Commons IO库的一个二进制发行版,版本号为2.11.0。这个压缩包...
赠送jar包:commons-io-2.7.jar; 赠送原API文档:commons-io-2.7-javadoc.jar; 赠送源代码:commons-io-2.7-sources.jar; 赠送Maven依赖信息文件:commons-io-2.7.pom; 包含翻译后的API文档:commons-io-2.7-...
Apache Commons IO 是一个Java库,专门用于处理输入/输出流操作。这个库包含了大量实用类和方法,使得在处理文件、字节流、字符流、过滤器和转换时更加便捷。"commons-io-2.7-bin.zip"是Apache Commons IO库的版本...
赠送jar包:commons-io-1.3.2.jar; 赠送原API文档:commons-io-1.3.2-javadoc.jar; 赠送源代码:commons-io-1.3.2-sources.jar; 赠送Maven依赖信息文件:commons-io-1.3.2.pom; 包含翻译后的API文档:commons-io...
开发工具 commons-io-1.3.2开发工具 commons-io-1.3.2开发工具 commons-io-1.3.2开发工具 commons-io-1.3.2开发工具 commons-io-1.3.2开发工具 commons-io-1.3.2开发工具 commons-io-1.3.2开发工具 commons-io-1.3.2...
《Apache Commons IO 2.6在Java开发中的应用详解》 Apache Commons IO是Apache软件基金会的一个开源项目,它提供了一系列实用的I/O操作工具,极大地简化了Java开发中与输入/输出相关的任务。其中,`commons-io-2.6....
赠送jar包:commons-io-2.7.jar 赠送原API文档:commons-io-2.7-javadoc.jar 赠送源代码:commons-io-2.7-sources.jar 包含翻译后的API文档:commons-io-2.7-javadoc-API文档-中文(简体)-英语-对照版.zip 对应...
Apache Commons IO 是一个Java库,专注于提供各种I/O操作的实用工具类,这些操作包括文件、流、过滤器、读写、转换、检测等。在本案例中,我们讨论的是"commons-io-2.4"版本,这个版本包含了完整的Apache Commons IO...
赠送jar包:commons-io-2.5.jar; 赠送原API文档:commons-io-2.5-javadoc.jar; 赠送源代码:commons-io-2.5-sources.jar; 赠送Maven依赖信息文件:commons-io-2.5.pom; 包含翻译后的API文档:commons-io-2.5-...
赠送jar包:commons-io-2.2.jar; 赠送原API文档:commons-io-2.2-javadoc.jar; 赠送源代码:commons-io-2.2-sources.jar; 包含翻译后的API文档:commons-io-2.2-javadoc-API文档-中文(简体)版.zip 对应Maven...
Apache Commons FileUpload与Apache Commons IO是Java开发中两个非常重要的库,它们主要用于处理文件上传和I/O操作。这两个库在Web应用、数据处理以及文件管理等领域广泛应用。 Apache Commons FileUpload库是一个...
《Apache Commons IO 2.3.jar:高效便捷的IO操作工具》 Apache Commons IO库是Java开发者必备的工具包之一,尤其是其中的commons-io-2.3.jar版本,它为处理输入/输出流、文件、字符集转换、线程安全的读写操作等...
Apache Commons IO 是一个Java库,专门用于处理输入/输出(I/O)操作。这个库提供了大量的实用工具类,使得在处理文件、流、过滤器、读写操作时更加方便。"commons-io-2.5.jar"是Apache Commons IO库的一个版本,...
Apache Commons IO 是一个Java库,它提供了一系列实用工具类来处理输入/输出操作。这个压缩包包含从0.1版本到2.4版本的所有Apache Commons IO的发布。这些版本跨越了多个年份,反映了该库在发展过程中的功能增强、...
Commons IO 2.4版本 最新API帮助文档
Apache Commons IO 是一个Java库,专门用于处理输入/输出(I/O)操作。这个库提供了大量的实用工具类,简化了常见的文件、流、过滤器、读写操作等任务。"commons-io-2.11.0.rar"是Apache Commons IO库的版本2.11.0的...
相较于Java标准库中的`java.io.File`类提供的`copy()`方法,`commons-io`的`FileUtils.copyFile()`更简单易用,且异常处理更简洁。 总的来说,`commons-io-2.5.jar` 是Java开发者的强大工具,它极大地扩展了Java IO...
Commons IO api 1.4 Commons IO api 1.4 Commons IO api 1.4 Commons IO api 1.4 Commons IO api 1.4 Commons IO api 1.4