轉載:http://www.cnblogs.com/cssmystyle/archive/2011/07/29/2120799.html
Path——這個屬性告訴FileSystemWatcher它需要監控哪條路徑。例如,如果我們將這個屬性設爲“C:\Temp”,對象就監控那個目錄發生的所有改變。
IncludeSubDirectories——這個屬性說明FileSystemWatcher對象是否應該監控子目錄中發生的改變。
Filter——這個屬性允許你過濾掉某些類型的文件發生的變化。例如,如果我們只希望在TXT文件被修改/新建/刪除時提交通知,可以將這個屬性設爲“*txt”。在處理高流
EnableRaisingEvents——獲取或設置一個值,該值指示是否啓用此組件。
IncludeSubdirectories——獲取或設置一個值,該值指示是否監視指定路徑中的子目錄。
Changed——當被監控的目錄中有一個文件被修改時,就提交這個事件。值得注意的是,這個事件可能會被提交多次,即使文件的內容僅僅發生一項改變。這是由於在保存文
Created——當被監控的目錄新建一個文件時,就提交這個事件。如果你計劃用這個事件移動新建的事件,你必須在事件處理器中寫入一些錯誤處理代碼,它能處理當前文件
Deleted——當被監控的目錄中有一個文件被刪除,就提交這個事件。
Renamed——當被監控的目錄中有一個文件被重命名,就提交這個事件。
屬性:
Name——這個屬性中使事件被提交的文件的名稱。其中並不包含文件的路徑——只包含使用事件被提交的文件或目錄名稱。
ChangeType——這是一個WatcherChangeTypes,它指出要提交哪個類型的事件。其有效值包括:
- Changed
- Created
- Deleted
- Renamed
FullPath——這個屬性中包含使事件被提交的文件的完整路徑,包括文件名和目錄名。
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")] private void Watcher() { FileSystemWatcher watcher=new FileSystemWatcher(); watcher.Path = @"d:\tmp"; watcher.Filter = "*.txt"; watcher.EnableRaisingEvents = true;//開啓提交事件 watcher.IncludeSubdirectories = true;//允許偵測此目錄下的子目錄 watcher.NotifyFilter = NotifyFilters.FileName; watcher.Changed += OnChanged; watcher.Created += OnChanged; watcher.Deleted += OnChanged; watcher.Renamed += OnRenamed; } private static void OnChanged(object source, FileSystemEventArgs e) { Console.WriteLine("File: " + e.FullPath + " " + e.ChangeType); } private static void OnRenamed(object source, RenamedEventArgs e) { Console.WriteLine("File: {0} renamed to {1}", e.OldFullPath, e.FullPath); }