使用 Watch Service API 觀察檔案系統
2020-12-13 02:38
标签:c style class blog code java 在 Java 7 以前,如果要觀察一個目錄下的檔案是否有異動 (新增、修改、刪除),唯一的辦法就是開啟一個
thread,每隔一段時間去檢查一下,當發現有異動,發出異動的訊息。Java 7 提供了 Watch Service API
解決了這個問題,現在不需要再這麼麻煩且浪費系統資源了,透過這組 API 程式可以很優雅、簡單的監控檔案系統的異動狀況。 如下的程式,會監控 D:\temp
這個目錄,如果這個目錄有任何檔案新增、修改、刪除,就會產生 event。 現在解釋一下程式: Line 24 行要特別說明,上述程式呼叫 take() 是方法之一,完整的說明如下: 使用 Watch Service API 觀察檔案系統,搜素材,soscw.com 使用 Watch Service API 觀察檔案系統 标签:c style class blog code java 原文地址:http://www.cnblogs.com/stevwn/p/3774915.html 1 package idv.steven.nio2;
2
3 import java.io.IOException;
4 import java.nio.file.FileSystems;
5 import java.nio.file.Path;
6 import java.nio.file.Paths;
7 import java.nio.file.StandardWatchEventKinds;
8 import java.nio.file.WatchEvent;
9 import java.nio.file.WatchKey;
10 import java.nio.file.WatchService;
11
12 public class WatchFile {
13
14 public void run() {
15 final Path path = Paths.get("D:/temp");
16 WatchService watchService;
17 try {
18 watchService = FileSystems.getDefault().newWatchService();
19
20 path.register(watchService, StandardWatchEventKinds.ENTRY_CREATE,
21 StandardWatchEventKinds.ENTRY_MODIFY, StandardWatchEventKinds.ENTRY_DELETE);
22
23 while (true) {
24 final WatchKey key = watchService.take();
25
26 for (WatchEvent> watchEvent : key.pollEvents()) {
27 final WatchEvent
上一篇:ADO.NET 扩展
下一篇:ASP经典分页类