c# FileSystemWatcher類實現目錄文件監控

.Net提供了FileSystemWatcher類用於實現文件監控功能。
FileSystemWatcher位於System.IO名稱空間下,使用前需using System.IO;
 
FileSystemWatcher能夠監控指定目錄下的文件刪除,建立,重命名等操做。在其構造函數中能夠指定須要監控的目錄以及須要監控的特定文件類型。
其Created事件在指定目錄下建立文件的時候觸發。
然而在實際應用中咱們經常須要在須要監控的目錄中文件建立完成時才做出相應的處理,而這個事件是在有文件建立的時候就觸發的,這在處理大文件的時候就容易出錯,由於文件還沒建立完成,好比複製一個大文件。這時候咱們須要對建立的文件進行訪問的時候就會出現沒法打開文件的異常。
不少網友都是經過循環檢查建立的文件大小變化來判斷文件是否完成的,這樣帶來了很大的系統性能損耗,並且不穩定。
其實咱們能夠使用一個變通的辦法,那就是在建立完大文件的時候建立一個同名的特定類型的小文件,前面咱們已經說到FileSystemWatcher類是能夠指定監控特定類型的文件的,因此咱們就能夠安全的處理建立的文件了。
FileSystemWatcher fsw = new FileSystemWatcher(@"D:\aaa");
fsw.Created += new FileSystemEventHandler(fsw_Created);
具體的實現過程很簡單,這裏就不貼代碼了,你們實踐實踐就能夠領會了。
相關文章
相關標籤/搜索