这个功能我使用的是commons.io里面的东西做的,下载jar包
首先,创建一个FileListener
import java.io.File;
import org.apache.commons.io.monitor.FileAlterationListenerAdaptor;
public class FileListener extends FileAlterationListenerAdaptor {
@Override
public void onFileChange(File file) {
System.out.println("文件"+file.getName()+"内容改变了");
}
@Override
public void onFileCreate(File file) {
System.out.println("文件被创建了" + file.getName());
}
@Override
public void onFileDelete(File file) {
System.out.println("文件被删除了" + file.getName());
}
}
然后创建一个测试类MainApp
import java.util.concurrent.TimeUnit;
import org.apache.commons.io.monitor.FileAlterationMonitor;
import org.apache.commons.io.monitor.FileAlterationObserver;
public class MainApp {
private static void FileListenerTest() throws Exception{
String filePath = "E:\\Test\\";// 监控目录
long interval = TimeUnit.MILLISECONDS.toMillis(100);//设置间隔0.1秒
FileAlterationObserver observer = new FileAlterationObserver(filePath);
observer.addListener(new FileListener());//设置文件变化监听器
FileAlterationMonitor monitor = new FileAlterationMonitor(interval, observer);//常见监听
monitor.start();//开始监听
}
public static void main(String[] args) {
new Thread(new Runnable() {
@Override
public void run() {
try {
System.out.println("开始监控文件");
FileListenerTest();
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
}
测试结果如下