Java 讀取資料夾檢查是否新增檔案 檔案監聽器
阿新 • • 發佈:2019-01-02
建立一個檔案監聽器 監聽資料夾下檔案的變化
使用 commons-io 中的檔案監控
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; /** * * @author Administrator */ public class fileTest { public static void main(String[] args) throws Exception { // 監控目錄 String rootDir = "d:\\tvdb"; // 輪詢間隔 5 秒 long interval = TimeUnit.SECONDS.toMillis(40); // FileAlterationObserver observer = new FileAlterationObserver( rootDir, FileFilterUtils.and( FileFilterUtils.fileFileFilter(), FileFilterUtils.suffixFileFilter(".mp4")), null); observer.addListener(new MyFileListener()); FileAlterationMonitor monitor = new FileAlterationMonitor(interval,observer); // 開始監控 monitor.start(); } }
檔案監聽器java程式碼 :
import java.io.File; import org.apache.commons.io.monitor.FileAlterationListenerAdaptor; /** * 自定義檔案監聽器 * @author * @date 2010-11-16 * @file org.demo.file.MyFileListener.java */ public class MyFileListener 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()); } }
需要commons-io jar包
可在 https://mvnrepository.com/ 網站中搜索
百度網盤:
連結:https://pan.baidu.com/s/1WrU8eB88hbFwLELOsVDdFg
提取碼:ujsr