簡體   English   中英

在Java 1.7中通過WatchService監視目錄更改

[英]Watching directory changes by WatchService in Java 1.7

從Java 1.7開始,有一種無需添加其他庫即可監視目錄的方法。 在Oracle網站上有一個小教程,介紹如何使用WatchService http://docs.oracle.com/javase/tutorial/essential/io/notification.html#try,但這對我來說是很難理解的。 沒有可使用的示例。

因此,有人會告訴我如何將偵聽器添加到目錄並調用方法嗎?例如:當文件添加到目錄時, f()可以說:“ ./ folder”?

每當您在監視的文件夾中創建文件時,都會調用此代碼段:

    Path path = new File("./folder").toPath();
    WatchService watchService = FileSystems.getDefault().newWatchService();
    path.register(watchService, StandardWatchEventKinds.ENTRY_CREATE);
    for (;;) {
        try {
        WatchKey key = watchService.take();
        for (WatchEvent<?> event : key.pollEvents()) {
            WatchEvent.Kind<?> kind = event.kind();
            if (kind.equals(StandardWatchEventKinds.ENTRY_CREATE)) {
                System.out.println("file created");
            }
        }
        } catch (InterruptedException x) {
             return;
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM