java中如何监视一个文件或目录的变化呢?

java-教程王 Java经验 发布时间:2022-01-07 15:07:49 阅读数:13432 1
下文笔者讲述java中监视目录或文件的方法分享,如下所示:
实现思路:
    借助WatchService即可实现监测文件或文件夹的变化
例:
package com.java265; 
import java.io.IOException;
import java.nio.file.*; 
import static java.nio.file.StandardWatchEventKinds.*;

public class FileWatchDemo {
    public static void main(String[] args) {
        try {
            // 创建一个 WatchService实例.
            WatchService watcher = FileSystems.getDefault().newWatchService();

            //注册 logDir到实例中
            Path logDir = Paths.get("D:/Temp/");
            logDir.register(watcher, ENTRY_CREATE, ENTRY_MODIFY, ENTRY_DELETE);

            // 循环检查是否发生变化
            while (true) {
                WatchKey key = watcher.take();
                for (WatchEvent<?> event : key.pollEvents()) {
                    WatchEvent.Kind<?> kind = event.kind();

                    if (ENTRY_CREATE.equals(kind)) {
                        System.out.println("目录中有文件创建");
                    } else if (ENTRY_MODIFY.equals(kind)) {
                        System.out.println("目录中有文件修改");
                    } else if (ENTRY_DELETE.equals(kind)) {
                        System.out.println("目录中有文件删除");
                    }
                }
                key.reset();
            }
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202201/16415396072195.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者