屬性:
Path——這個屬性告訴FileSystemWatcher它需要監控哪條路徑,例如,如果我們將這個屬性設為“C:Temp”,物件就監控那個目錄發生的所有改變,
IncludeSubDirectories——這個屬性說明FileSystemWatcher物件是否應該監控子目錄中發生的改變,
Filter——這個屬性允許你過濾掉某些型別的檔案發生的變化,例如,如果我們只希望在TXT檔案被修改/新建/洗掉時提交通知,可以將這個屬性設為“*txt”,在處理高流量或大型目錄時,使用這個屬性非常方便,
事件
Changed——當被監控的目錄中有一個檔案被修改時,就提交這個事件,值得注意的是,這個事件可能會被提交多次,即使檔案的內容僅僅發生一項改變,這是由于在保存檔案時,檔案的其它屬性也發生了改變,
Created——當被監控的目錄新建一個檔案時,就提交這個事件,如果你計劃用這個事件移動新建的事件,你必須在事件處理器中寫入一些錯誤處理代碼,它能處理當前檔案被其它行程使用的情況,之所以要這樣做,是因為Created事件可能在建立檔案的行程釋放檔案之前就被提交,如果你沒有準備正確處理這種情況的代碼,就可能出現例外,
Deleted——當被監控的目錄中有一個檔案被洗掉,就提交這個事件,
Renamed——當被監控的目錄中有一個檔案被重命名,就提交這個事件,
注:如果你沒有將EnableRaisingEvents設為真,系統不會提交任何一個事件,如果有時FileSystemWatcher物件似乎無法作業,請首先檢查EnableRaisingEvents,確保它被設為真,
事件處理
當FileSystemWatcher呼叫一個事件處理器時,它包含兩個自變數——一個叫做“sender”的物件和一個叫做“e”的FileSystemEventArgs物件,我們感興趣的自變數為FileSystemEventArgs自變數,這個物件中包含有提交事件的原因,以下是FileSystemEventArgs物件的一些屬性:
屬性:
Name——這個屬性中使事件被提交的檔案的名稱,其中并不包含檔案的路徑——只包含使用事件被提交的檔案或目錄名稱,
ChangeType——這是一個WatcherChangeTypes,它指出要提交哪個型別的事件,其有效值包括:Changed、Created、Deleted、Renamed
FullPath——這個屬性中包含使事件被提交的檔案的完整路徑,包括檔案名和目錄名,
FileSystemWatcher物件為你完成目錄監控作業,如果新建、更新或洗掉一個檔案,FileSystemWatcher將提交一個事件,通知你發生了一項改變,這樣,新建一個檔案后,你的程式立即就知道可以使用這個檔案,立即通知改變使得你的系統以更高的效率作業,因為你不能總是“調查”目錄中發生的改變,而且在兩次目錄掃描之間也不會有時間流失,
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/115464.html
標籤:C#
上一篇:DevExpress的分隔條控制元件SplitterControl的使用
下一篇:C# 讀取INI檔案
