欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java使用WatchService監(jiān)控文件夾示例

 更新時間:2017年02月16日 10:06:36   作者:DrJasonZhang  
本篇文章主要介紹了java使用WatchService監(jiān)控文件夾示例的資料,這里整理了詳細的代碼,有需要的小伙伴可以參考下。

通過java7提供的WatchService API 實現(xiàn)對文件夾的監(jiān)控

package service;

import config.Config;
import java.io.IOException;
import java.nio.file.*;
import java.util.List;
import java.util.concurrent.TimeUnit;

public class WatchDirService {
  private WatchService watchService;
  private boolean notDone = true;

  public WatchDirService(String dirPath){
    init(dirPath);
  }

  private void init(String dirPath) {
    Path path = Paths.get(dirPath);
    try {
      watchService = FileSystems.getDefault().newWatchService(); //創(chuàng)建watchService
      path.register(watchService, 
      StandardWatchEventKinds.ENTRY_CREATE,
      StandardWatchEventKinds.ENTRY_MODIFY,
      StandardWatchEventKinds.ENTRY_DELETE); //注冊需要監(jiān)控的事件,ENTRY_CREATE 文件創(chuàng)建,ENTRY_MODIFY 文件修改,ENTRY_MODIFY 文件刪除
    } catch (IOException e) {
      e.printStackTrace();
    }
  }

  public void start(){
    System.out.print("watch...");
    while (notDone){
      try {
        WatchKey watchKey = watchService.poll(Config.POLL_TIME_OUT, TimeUnit.SECONDS); //此處將處于等待狀態(tài),等待檢測到文件夾下得文件發(fā)生改變,返回WatchKey對象
        if(watchKey != null){
          List<WatchEvent<?>> events = watchKey.pollEvents(); //獲取所有得事件
          for (WatchEvent event : events){
            WatchEvent.Kind<?> kind = event.kind(); 
            if (kind == StandardWatchEventKinds.OVERFLOW){
              //當前磁盤不可用
              continue;
            }
            WatchEvent<Path> ev = event;
            Path path = ev.context();
            if(kind == StandardWatchEventKinds.ENTRY_CREATE){
              System.out.println("create " + path.getFileName());
            }else if(kind == StandardWatchEventKinds.ENTRY_MODIFY){
              System.out.println("modify " + path.getFileName());
            }else if(kind == StandardWatchEventKinds.ENTRY_DELETE){
              System.out.println("delete " + path.getFileName());
            }
          }
          if(!watchKey.reset()){ 
            //已經關閉了進程
            System.out.println("exit watch server");
            break;
          }
        }
      } catch (InterruptedException e) {
        e.printStackTrace();
        return;
      }
    }
  }
}

就是這么簡單就可以對一個文件夾進行監(jiān)控了。

完整帶碼地址:WatchServerDemo_jb51.rar

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Java喚醒本地應用的兩種方法詳解

    Java喚醒本地應用的兩種方法詳解

    這篇文章主要為大家介紹了Java喚醒本地應用的兩種方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • SpringBoot通過@MatrixVariable進行傳參詳解

    SpringBoot通過@MatrixVariable進行傳參詳解

    這篇文章主要介紹了SpringBoot使用@MatrixVariable傳參,文章圍繞@MatrixVariable展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06
  • 如何在java中使用Jython

    如何在java中使用Jython

    這篇文章主要介紹了如何在java中使用Jython,由于項目中需要用到Java調用Python的腳本,來實現(xiàn)一些功能,就對jython做了一些了解,通過jython可以實現(xiàn)java對python腳本的調用,需要的朋友可以參考一下
    2022-03-03
  • 淺談Maven包沖突的原理及解決方法

    淺談Maven包沖突的原理及解決方法

    這篇文章主要介紹了淺談Maven包沖突的原理及解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • Java 得到集合中所有子集

    Java 得到集合中所有子集

    本文主要介紹了Java 得到集合中所有子集的方法。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • 常用Maven庫,鏡像庫及maven/gradle配置(小結)

    常用Maven庫,鏡像庫及maven/gradle配置(小結)

    這篇文章主要介紹了常用Maven庫,鏡像庫及maven/gradle配置(小結),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • Java?String相加底層原理分析

    Java?String相加底層原理分析

    這篇文章主要介紹了Java?String相加底層原理,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • springcloud連接遠程nacos失敗顯示localhost服務連接失敗的問題解決

    springcloud連接遠程nacos失敗顯示localhost服務連接失敗的問題解決

    這篇文章主要介紹了springcloud連接遠程nacos失敗顯示localhost服務連接失敗的問題解決,文中有詳細的代碼示例供大家參考,對大家解決問題有一定的幫助,需要的朋友可以參考下
    2024-03-03
  • android顯示意圖激活另一個Activity的方法

    android顯示意圖激活另一個Activity的方法

    下面小編就為大家?guī)硪黄猘ndroid顯示意圖激活另一個Activity的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Java如何分析算法的時間和空間復雜度

    Java如何分析算法的時間和空間復雜度

    這篇文章主要介紹了Java如何分析算法的時間和空間復雜度,在計算機科學中,計算復雜性解釋了算法的性能。文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-06-06

最新評論