如何监控Java File文件的修改时间

发布时间:2025-02-07 12:47:35 作者:小樊
来源:亿速云 阅读:91

要监控Java中File文件的修改时间,您可以使用java.nio.file包中的WatchService

import java.io.IOException;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;

public class FileWatcher {

    public static void main(String[] args) throws IOException, InterruptedException {
        // 指定要监控的目录
        Path path = Paths.get("path/to/your/directory");

        // 创建一个WatchService实例
        WatchService watchService = FileSystems.getDefault().newWatchService();

        // 注册要监控的目录的事件类型,这里我们监控ENTRY_MODIFY事件
        path.register(watchService, StandardWatchEventKinds.ENTRY_MODIFY);

        System.out.println("开始监控目录: " + path);

        while (true) {
            // 获取并处理下一个事件
            WatchKey watchKey = watchService.take();

            for (WatchEvent<?> event : watchKey.pollEvents()) {
                WatchEvent.Kind<?> kind = event.kind();

                // 如果事件类型是ENTRY_MODIFY,则输出文件的修改时间
                if (kind == StandardWatchEventKinds.ENTRY_MODIFY) {
                    @SuppressWarnings("unchecked")
                    WatchEvent<Path> pathEvent = (WatchEvent<Path>) event;
                    Path modifiedFile = path.resolve(pathEvent.context());

                    BasicFileAttributes attrs = Files.readAttributes(modifiedFile, BasicFileAttributes.class);
                    System.out.println("文件修改时间: " + attrs.lastModifiedTime());
                }
            }

            // 重置WatchKey,以便继续接收事件
            boolean valid = watchKey.reset();
            if (!valid) {
                break;
            }
        }
    }
}

请将path/to/your/directory替换为您要监控的目录路径。这个示例将监控指定目录中文件的修改时间,并在控制台输出修改时间。请注意,这个示例将一直运行,直到您停止程序。

推荐阅读:
  1. nagios 监控自身
  2. 部署zabbix网络监控

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:Java File文件在多线程环境下的处理

下一篇:Java File文件与文件系统的交互

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》