1.目录监听
package com.example.file_sync.utils;
import com.sun.istack.internal.logging.Logger;
import org.apache.commons.io.monitor.FileAlterationListenerAdaptor;
import org.apache.commons.io.monitor.FileAlterationObserver;
import java.io.File;
public class FileListener extends FileAlterationListenerAdaptor {
private Logger log = Logger.getLogger(FileListener.class);
@Override
public void onFileCreate(File file) {
log.info("[新建]:" + file.getAbsolutePath());
}
@Override
public void onFileChange(File file) {
log.info("[修改]:" + file.getAbsolutePath());
}
@Override
public void onFileDelete(File file) {
log.info("[删除]:" + file.getAbsolutePath());
}
@Override
public void onDirectoryCreate(File directory) {
log.info("[新建]:" + directory.getAbsolutePath());
}
@Override
public void onDirectoryChange(File directory) {
log.info("[修改]:" + directory.getAbsolutePath());
}
@Override
public void onDirectoryDelete(File directory) {
log.info("[删除]:" + directory.getAbsolutePath());
}
@Override
public void onStart(FileAlterationObserver observer) {
super.onStart(observer);
}
@Override
public void onStop(FileAlterationObserver observer) {
super.onStop(observer);
}
}
2.模拟调用
package com.example.file_sync;
import com.example.file_sync.utils.FileListener;
import com.example.file_sync.utils.PostRequest;
import org.apache.commons.io.filefilter.FileFilterUtils;
import org.apache.commons.io.filefilter.HiddenFileFilter;
import org.apache.commons.io.filefilter.IOFileFilter;
import org.apache.commons.io.monitor.FileAlterationMonitor;
import org.apache.commons.io.monitor.FileAlterationObserver;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
@SpringBootApplication
public class FileSyncApplication {
public static void main(String[] args) throws Exception {
SpringApplication.run(FileSyncApplication.class, args);
doFileSunc();
}
private static void doFileSunc() throws Exception {
String rootDir = "F:\\ES";
long interval = TimeUnit.SECONDS.toMillis(1);