监控指定文件(或文件夹下)的CRUD。
example
import java.io.File;
import org.apache.commons.io.monitor.FileAlterationListenerAdaptor;
import org.apache.commons.io.monitor.FileAlterationMonitor;
import org.apache.commons.io.monitor.FileAlterationObserver;
public class ConmonsIO {
private static String basePath = "D:\\";
public static void main(String[] args) throws Exception {
FileAlterationObserver observer = new FileAlterationObserver(basePath);
observer.addListener(new FileAlterationListenerAdaptor() {
@Override
public void onStart(FileAlterationObserver observer) {
System.out.println("开始监听: "
+ observer.getDirectory().getAbsolutePath());
}
@Override
public void onStop(FileAlterationObserver observer) {
System.out.println("停止监听: "
+ observer.getDirectory().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 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());
}
});
FileAlterationMonitor monitor = new FileAlterationMonitor(1000);
monitor.addObserver(observer);
monitor.start();
// monitor.stop();
}
}