Commons IO之FileAlterationListenerAdaptor,FileAlterationObserver文件监控工具类介绍

 

pom.xml

<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.8.0</version>
</dependency>

 

MyFileListener.java

package com.imddysc.txttocvs.filemon;

import java.io.File;

import org.apache.commons.io.monitor.FileAlterationListenerAdaptor;
import org.apache.commons.io.monitor.FileAlterationObserver;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class MyFileListener extends FileAlterationListenerAdaptor {

	private static final Logger logger = LoggerFactory.getLogger(MyFileListener.class);

	// 文件创建
	@Override
	public void onFileCreate(File file) {
		logger.info("[新建]:" + file.getAbsolutePath());
	}

    // 文件修改
	@Override
	public void onFileChange(File file) {
		logger.info("[修改]:" + file.getAbsolutePath());
	}

    // 文件删除
	@Override
	public void onFileDelete(File file) {
		logger.info("[删除]:" + file.getAbsolutePath());
	}

    // 目录创建
	@Override
	public void onDirectoryCreate(File directory) {
		logger.info("[新建]:" + directory.getAbsolutePath());
	}

    // 目录修改
	@Override
	public void onDirectoryChange(File directory) {
		logger.info("[修改]:" + directory.getAbsolutePath());
	}

    // 目录删除
	@Override
	public void onDirectoryDelete(File directory) {
		logger.info("[删除]:" + directory.getAbsolutePath());
	}

	@Override
	public void onStart(FileAlterationObserver observer) {
		super.onStart(observer);
	}

	@Override
	public void onStop(FileAlterationObserver observer) {
		super.onStop(observer);
	}
}

 

main方法中

		String rootDir = "E:\\test\\monitor";
		// 创建一个文件观察器用于处理文件的格式
		// FileAlterationObserver _observer = new FileAlterationObserver(rootDir,
		// FileFilterUtils.and(FileFilterUtils.fileFileFilter(),
		// FileFilterUtils.suffixFileFilter(".txt")), null);// 过滤文件格式
		FileAlterationObserver observer = new FileAlterationObserver(rootDir);
		observer.addListener(new MyFileListener()); // 设置文件变化监听器
		FileAlterationMonitor monitor = new FileAlterationMonitor(1000, observer);// 创建文件变化监听器,间隔5秒
		monitor.start();// 开始监控

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章