天天看點

C#檔案監控

FileSystemWatcher

常用屬性:

Path:擷取或設定要監視的目錄的路徑

Filter:擷取或設定篩選字元串,用于确定在目錄中監視哪些檔案

NotifyFilter:擷取或設定要監視的更改類型。

EnableRaisingEvents:擷取或設定一個值,該值訓示是否啟用此元件。

常用事件:

OnChanged:執行Changed,Created,Deleted時引發改事件

OnRenamed:執行重命名時引發改事件

監控代碼:(

源碼.rar

)

  

C#檔案監控
C#檔案監控

C#檔案監控

1 #region 監控檔案
 2 public void Run()
 3 {
 4     //建立檔案監控對象
 5     FileSystemWatcher watcher = new FileSystemWatcher();
 6     //設定監控目錄
 7     watcher.Path = path;
 8     //定義監控類型
 9     watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
10         | NotifyFilters.FileName | NotifyFilters.DirectoryName | NotifyFilters.CreationTime;
11     //定義監控的檔案類型
12     watcher.Filter = "*.*";
13 
14     //綁定監控事件
15     watcher.Changed += new FileSystemEventHandler(OnChanged);
16     watcher.Created += new FileSystemEventHandler(OnChanged);
17     watcher.Deleted += new FileSystemEventHandler(OnChanged);
18     watcher.Renamed += new RenamedEventHandler(OnRenamed);
19 
20     //true表示開始監控,啟用監控;false表示取消監控
21     watcher.EnableRaisingEvents = true;
22 }
23 
24 private void OnChanged(object source, FileSystemEventArgs e)
25 {
26             
27     string changedInfo = string.Format("File: {0} {1}", e.FullPath, e.ChangeType);
28     //因為UI上的線程非安全的,是以要使用Invoke
29     this.Invoke(new Method(AddItem),changedInfo);
30 }
31 
32 private void OnRenamed(object source, RenamedEventArgs e)
33 {
34         
35     string changedInfo = string.Format("File: {0} renamed to {1}", e.OldFullPath, e.FullPath);
36     //因為UI上的線程非安全的,是以要使用Invoke
37     this.Invoke(new Method(AddItem), changedInfo);
38 
39 }
40 //把監控到的資訊添加到ListBox上
41 private void AddItem(string item)
42 {
43     listBox1.Items.Add(item);
44 }
45 #endregion      
下一篇: test