Java FileWatcher类使用实例

   2025-02-13 4650
核心提示:下面是一个使用Java的FileWatcher类的实例:import java.nio.file.*;public class FileWatcherExample {public static void main

下面是一个使用Java的FileWatcher类的实例:

import java.nio.file.*;public class FileWatcherExample {    public static void main(String[] args) throws Exception {        // 创建一个WatchService对象        WatchService watchService = FileSystems.getDefault().newWatchService();                // 注册监听的目录和事件类型        Path directory = Paths.get("C:/path/to/directory");        directory.register(watchService, StandardWatchEventKinds.ENTRY_CREATE, StandardWatchEventKinds.ENTRY_DELETE);        System.out.println("Watching directory: " + directory);        // 循环监听文件变化事件        while (true) {            WatchKey key;            try {                key = watchService.take();            } catch (InterruptedException ex) {                return;            }            for (WatchEvent<?> event : key.pollEvents()) {                WatchEvent.Kind<?> kind = event.kind();                // 处理不同的事件类型                if (kind == StandardWatchEventKinds.OVERFLOW) {                    continue;                } else if (kind == StandardWatchEventKinds.ENTRY_CREATE) {                    System.out.println("File created: " + event.context());                } else if (kind == StandardWatchEventKinds.ENTRY_DELETE) {                    System.out.println("File deleted: " + event.context());                }            }            // 重置监听键,以便继续接收事件通知            boolean valid = key.reset();            if (!valid) {                break;            }        }    }}

以上代码使用了Java的WatchService和WatchKey类来监听指定目录下的文件变化事件。在这个例子中,我们注册了对文件的创建和删除事件的监听。当有文件被创建或删除时,会打印相应的信息。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言