亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發(fā) > Java > 正文

Java實現(xiàn)實時監(jiān)控目錄下文件變化的方法

2024-07-14 08:43:34
字體:
供稿:網(wǎng)友

一、commons-io方法

1、使用Commons-io的monitor下的相關(guān)類可以處理對文件進(jìn)行監(jiān)控,它采用的是觀察者模式來實現(xiàn)的

  • (1)可以監(jiān)控文件夾的創(chuàng)建、刪除和修改
  • (2)可以監(jiān)控文件的創(chuàng)建、刪除和修改
  • (3)采用的是觀察者模式來實現(xiàn)的
  • (4)采用線程去定時去刷新檢測文件的變化情況

2、引入commons-io包,需要2.0以上。

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

3、編寫繼承FileAlterationListenerAdaptor的類FileListener。

import java.io.File;import org.apache.commons.io.monitor.FileAlterationListenerAdaptor;import org.apache.commons.io.monitor.FileAlterationObserver;import org.apache.log4j.Logger;/** * 文件變化監(jiān)聽器 * 在Apache的Commons-IO中有關(guān)于文件的監(jiān)控功能的代碼. 文件監(jiān)控的原理如下: * 由文件監(jiān)控類FileAlterationMonitor中的線程不停的掃描文件觀察器FileAlterationObserver, * 如果有文件的變化,則根據(jù)相關(guān)的文件比較器,判斷文件時新增,還是刪除,還是更改。(默認(rèn)為1000毫秒執(zhí)行一次掃描) */public class FileListener extends FileAlterationListenerAdaptor {  private Logger log = Logger.getLogger(FileListener.class);  /**   * 文件創(chuàng)建執(zhí)行   */  public void onFileCreate(File file) {    log.info("[新建]:" + file.getAbsolutePath());  }  /**   * 文件創(chuàng)建修改   */  public void onFileChange(File file) {    log.info("[修改]:" + file.getAbsolutePath());  }  /**   * 文件刪除   */  public void onFileDelete(File file) {    log.info("[刪除]:" + file.getAbsolutePath());  }  /**   * 目錄創(chuàng)建   */  public void onDirectoryCreate(File directory) {    log.info("[新建]:" + directory.getAbsolutePath());  }  /**   * 目錄修改   */  public void onDirectoryChange(File directory) {    log.info("[修改]:" + directory.getAbsolutePath());  }  /**   * 目錄刪除   */  public void onDirectoryDelete(File directory) {    log.info("[刪除]:" + directory.getAbsolutePath());  }  public void onStart(FileAlterationObserver observer) {    // TODO Auto-generated method stub    super.onStart(observer);  }  public void onStop(FileAlterationObserver observer) {    // TODO Auto-generated method stub    super.onStop(observer);  }}

4、實現(xiàn)main方法

public static void main(String[] args) throws Exception{    // 監(jiān)控目錄    String rootDir = "D://apache-tomcat-7.0.78";    // 輪詢間隔 5 秒    long interval = TimeUnit.SECONDS.toMillis(1);    // 創(chuàng)建過濾器    IOFileFilter directories = FileFilterUtils.and(        FileFilterUtils.directoryFileFilter(),        HiddenFileFilter.VISIBLE);    IOFileFilter files    = FileFilterUtils.and(        FileFilterUtils.fileFileFilter(),        FileFilterUtils.suffixFileFilter(".txt"));    IOFileFilter filter = FileFilterUtils.or(directories, files);    // 使用過濾器    FileAlterationObserver observer = new FileAlterationObserver(new File(rootDir), filter);    //不使用過濾器    //FileAlterationObserver observer = new FileAlterationObserver(new File(rootDir));    observer.addListener(new FileListener());    //創(chuàng)建文件變化監(jiān)聽器    FileAlterationMonitor monitor = new FileAlterationMonitor(interval, observer);    // 開始監(jiān)控    monitor.start();  }

二、使用JDK7提供的WatchService

public static void main(String[] a) {    final Path path = Paths.get("D://apache-tomcat-7.0.78");    try (WatchService watchService = FileSystems.getDefault().newWatchService()) {      //給path路徑加上文件觀察服務(wù)      path.register(watchService, StandardWatchEventKinds.ENTRY_CREATE,          StandardWatchEventKinds.ENTRY_MODIFY,          StandardWatchEventKinds.ENTRY_DELETE);      while (true) {        final WatchKey key = watchService.take();        for (WatchEvent<?> watchEvent : key.pollEvents()) {          final WatchEvent.Kind<?> kind = watchEvent.kind();          if (kind == StandardWatchEventKinds.OVERFLOW) {            continue;          }          //創(chuàng)建事件          if (kind == StandardWatchEventKinds.ENTRY_CREATE) {            System.out.println("[新建]");          }          //修改事件          if (kind == StandardWatchEventKinds.ENTRY_MODIFY) {            System.out.println("修改]");          }          //刪除事件          if (kind == StandardWatchEventKinds.ENTRY_DELETE) {            System.out.println("[刪除]");          }          // get the filename for the event          final WatchEvent<Path> watchEventPath = (WatchEvent<Path>) watchEvent;          final Path filename = watchEventPath.context();          // print it out          System.out.println(kind + " -> " + filename);        }        boolean valid = key.reset();        if (!valid) {          break;        }      }    } catch (IOException | InterruptedException ex) {      System.err.println(ex);    }  }

三、以上方法都可以實現(xiàn)對相應(yīng)文件夾得文件監(jiān)控,但是在使用jdk7提供的API時,會出現(xiàn)些許問題。

  • (1)當(dāng)文件修改時,會被調(diào)用兩次,即輸出兩個相同的修改。
  • (2)不能對其子文件夾進(jìn)行監(jiān)控,只能提示目錄被修改。
  • (3)無法對文件類型進(jìn)行過濾。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對VeVb武林網(wǎng)的支持。


注:相關(guān)教程知識閱讀請移步到JAVA教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
欧美bbbbb性bbbbb视频| 日韩av超清在线观看| 日韩欧美一区二区三区久久| 亚洲一区二区三区在线视频| 国产激情无套内精对白视频| 日韩中文一区二区三区| 爱情电影网av一区二区| 亚洲一区不卡| aaa毛片在线观看| 国产拍精品一二三| 久久久久久久穴| 欧美老少做受xxxx高潮| av免费观看一区二区| 浪潮色综合久久天堂| 91麻豆精品秘密入口| 国产农村妇女精品一区二区| 日日骚久久av| 国模叶桐国产精品一区| 高端美女服务在线视频播放| 美女少妇全过程你懂的久久| 日韩视频―中文字幕| 欧美激情一区二区三区成人| av网站在线观看不卡| 久播影院第一理论片| 国产老肥熟xxxx在线观看| 熟女少妇在线视频播放| 午夜精品久久久久久久99黑人| 欧美 国产 精品| 中文乱码人妻一区二区三区视频| 亚洲高清在线视频| 色欲色香天天天综合网www| 在线观看精品视频一区二区三区| 欧美高清性hdvideosex| 亚洲成av人片一区二区密柚| 日本一区不卡| 二区三区中文字幕| 日本在线观看不卡视频| 欧美一级淫片播放口| 无套内精的网站| 亚洲国产精品成人精品| 小处雏高清一区二区三区| 136国产福利精品导航网址应用| 99国产牛牛视频在线网站| 老司机精品视频网站| 伊人久久大香线蕉无限次| 国产一区二区三区四区五区| 色综合网色综合| 欧美最猛黑人xxxx黑人猛交3p| 欧美日本啪啪无遮挡网站| 亚洲国产高清在线| 日韩视频在线免费看| 一区二区三区四区五区精品视频| 中文字幕国产视频| 欧美日韩在线中文字幕| free性丰满69性欧美| 极品束缚调教一区二区网站| 欧洲黄色一级视频| 99久久精品国产亚洲精品| 久久露脸国产精品| 91官网在线| 色婷婷av一区二区三区大白胸| 成人h动漫在线| 99自拍偷拍视频| 亚洲精品乱码久久久久久日本蜜臀| 久久99精品久久久久久野外| 青娱乐国产精品视频| 麻豆视频在线看| 四虎影视1304t| 色开心亚洲综合| 韩国免费在线视频| 深夜福利视频网站| 手机在线看片日韩| av毛片免费| 中文字幕少妇一区二区三区| 99re8这里有精品热视频免费| 国产黄色免费电影| 小泽玛利亚一区二区三区视频| 亚洲视频在线一区| 日本一区二区乱| 成人免费视频毛片| 日本在线播放不卡| 亚洲欧美自拍另类日韩| 亚洲区一区二区| 91色琪琪电影亚洲精品久久| 亚洲精品日韩久久久| 玖玖精品在线| 久久久精品2019中文字幕神马| 精品久久久久久久久中文字幕| 超碰国产在线观看| 人妻熟女aⅴ一区二区三区汇编| 日韩大陆av| 国产a一区二区| 中文一区在线| 午夜免费一级片| 国产成人涩涩涩视频在线观看| sedog在线观看| 亚洲午夜性刺激影院| 涩视频在线观看| 国产hs免费高清在线观看| 偷拍精品一区二区三区| 夜夜夜久久久| 日本不卡免费播放| 国产免费福利视频| 亚洲 欧美 激情 小说 另类| 蜜乳av另类精品一区二区| 日韩成人精品在线观看| 久久精品第九区免费观看| 日韩电影中文字幕| 欧美日韩国产综合一区二区| 国产视频网站在线观看| 免费无码毛片一区二区app| 2023国产精品自拍| 久久精品五月婷婷| 欧美日韩精品一区二区三区视频播放| 久草在线免费二| 最新国产精品久久| 好看的视频你懂的| 国产精品久久久久一区二区三区共| 99riav国产精品| 337p日本欧洲亚洲大胆精品| 夜间精品视频| 欧美视频三区| 欧美丝袜一区二区三区| 日韩手机在线观看| 桃花色综合影院| 亚洲免费观看高清完整版在线观看| 中文精品久久久久人妻不卡| 亚洲天堂视频网站| 亚洲影院在线播放| 免费看黄色av| 国产视频第二页| 日本人妻伦在线中文字幕| 国产精品资源网| 在线免费视频一区| 欧美亚洲一区二区三区| 91视频黄色| 欧美性猛交xxxx富婆弯腰| 日韩毛片中文字幕| 国产自产视频一区二区三区| 91久久在线视频| 亚洲午夜视频在线| 国产精品嫩草69影院| 欧美日韩亚洲一区二区三区在线| 欧美伦理片在线看| 国产黄色片av| 91精品办公室少妇高潮对白| 成年人国产在线观看| 在线不卡av电影| 最近的中文字幕在线看视频| www.成人69.com| 午夜激情成人网| 亚洲男人的天堂在线aⅴ视频| 91中文在线| 久久这里只有精品18| 91美女福利视频高清| 日韩欧美激情在线| 在线成人av观看| 日本天码aⅴ片在线电影网站| 乐播av一区二区三区| 亚洲第一伊人| 久草在线免费福利| 亚洲色图国产| 国产91精品久久久久久久| www.日韩.com| 日韩大片免费观看| 国产成人一级片| 日韩av在线网站| 国产精品www在线观看| 精品欧美一区二区三区| 日本美女一区二区三区| 日韩在线视频网站| 欧美成人一区二区三区高清| 免费亚洲一区| 欧美sm一区| 成人毛片视频在线观看| 亚洲h视频在线观看| 日本成片免费高清| 哺乳挤奶一区二区三区免费看| 成人无码精品1区2区3区免费看| 在线观看国产福利视频| 欧美性猛交视频| 国产激情无码一区二区三区| 黑人玩弄人妻一区二区三区| 99国产精品视频免费观看| 亚洲精品高清视频| 99热国内精品| 国产极品尤物在线| 91久久久久久| 黄色免费av网站| 久久999免费视频| xxxx欧美xxxx黑人| 天天色天天操综合| 欧美一区国产在线| 国产欧美日韩在线看| 日本熟妇一区二区三区| 7777精品伊人久久久大香线蕉完整版| 在线观看av不卡| 一区二区三区免费视频网站| 欧美日韩一区二区三区免费看| 亚洲aaaaaaa| 国产欧美最新羞羞视频在线观看| 亚洲欧美日韩一区二区在线| 亚洲日本精品一区| 亚洲巨乳在线| 国产欧美综合色| 精品国产一区二区三区久久狼5月| 成人美女av在线直播| 毛葺葺老太做受视频| 久久久亚洲精品石原莉奈| 一级特黄aaa大片| 亚洲宅男网av| 久久久久久久久久久久久久久| 亚洲男人的天堂在线| 欧美日韩国产综合一区二区| 日韩一二三区在线观看| 日韩偷拍一区二区| 亚洲女同二女同志奶水| 国产精品久久久久久久久动漫| 91九色成人| 中文字幕乱码人妻综合二区三区| 成人免费高清在线| av激情亚洲男人天堂| 亚洲欧洲国产视频| 99久久伊人精品影院| 国产又爽又黄网站亚洲视频123| 久久亚洲一区二区三区四区| 欧美黄色直播| 精品国产乱码久久久久久郑州公司| 高清av中文在线字幕观看1| 亚洲黄色小说视频| 电影在线观看一区二区| 国产美女自慰在线观看| 国产欧美一区二区精品忘忧草| 3d蒂法精品啪啪一区二区免费| 日本一区视频在线观看免费| 欧美激情第1页| 麻豆传媒网站在线观看| 羞羞小视频在线观看| 亚洲AV无码久久精品国产一区| 欧美 日韩 国产精品免费观看| 好看不卡的中文字幕| 国产高潮呻吟久久| 人妻丰满熟妇av无码区hd| 精品一二三区| 国产一区激情在线| 国产亚洲第一页| 色综合久久悠悠| 国产精品999视频| 国产精品成人aaaa在线| 国产精自产拍久久久久久蜜| 91精品在线一区二区| 国产在线观看色| 欧美激情一级片一区二区| 黄色网址在线免费播放| 国产一区美女在线| 亚洲国产一区二区三区高清| 久久精品视频中文字幕| 天天爽夜夜爽| 日韩精品一级二级| 日本韩国欧美三级| 色88久久久久高潮综合影院| 99精品久久免费看蜜臀剧情介绍| xxxx欧美18另类的高清| 国产欧美小视频| 一二三四视频免费观看在线看| 精品视频一区二区三区在线观看| 亚欧美中日韩视频| 日韩精品久久久| 一区二区三区黄色| 亚洲一区二区在线免费| 国产麻豆剧果冻传媒视频杜鹃| 四虎精品视频| 咪咪色在线视频| 成人网视频在线观看| 中文字幕丰满乱子伦无码专区| 国产精品久久一区二区三区| 午夜久久福利| 综合 欧美 亚洲日本| 国产又爽又黄的激情精品视频| 欧美性猛交xxxx富婆弯腰| 国产毛片毛片毛片毛片毛片毛片| 久久久一二三| 3atv一区二区三区| 日韩经典中文字幕在线观看| 亚洲天堂免费av| 超碰在线最新网址| 亚洲线精品一区二区三区八戒| 精品国产乱码久久久久久果冻传媒| 日韩中文字幕视频在线观看| 国产人妖ts一区二区| 国产成人自拍网站| 美女久久久久久久久久| 欧美成人免费va影院高清| 中文字幕在线观看日本| 成熟老妇女视频| 91亚洲男人天堂| 成人亚洲精品久久久久软件| 你懂得网站在线| 激情五月综合色婷婷一区二区| 91在线无精精品一区二区| 欧美va在线观看| 在线免费观看av网址| 草久视频在线观看| 天堂在线精品视频| 82av视频| 乱妇乱女熟妇熟女网站| 在线观看免费黄色片| 原创国产精品91| 午夜日韩在线观看| 亚乱亚乱亚洲乱妇| 亚洲欧美另类小说| 色999日韩自偷自拍美女| 日韩精品在线观看av| 日韩欧美国产成人精品免费| 日韩avvvv在线播放| 国产精品久久网站| 丝袜美腿玉足3d专区一区| 色女孩综合影院| 欧美 日韩 国产 一区| 亚洲情趣在线观看| 亚洲欧美综合久久久| 欧美激情va永久在线播放| 国产一区二区视频免费| 日韩有码在线观看| 日韩av一级片| 91色在线播放| 日韩中文字幕精品| 神马影视一区二区|