您是否為無法看到孩子在電腦上存儲的圖片而發愁,您是否為無法監控員工在電腦上存儲的東西而發愁,那么今天給您推薦的這款產品絕對是您不二的選擇,它是由美國大廠生產,完全符合國際標準的產品,完美支持 Windows 98 以上系統,他就是 FileSystemWatcher 牌監控儀。他會偵聽文件系統更改通知,并在目錄或目錄中的文件更改時引發事件。下面我們就來看看他的細節。
零、細節特征
1.常用的方法有:
OnChanged(FileSystemEventArgs)
當更改被監控目錄中文件或目錄的大小,系統屬性,上次寫入時間,上次訪問時間或安全權限時將調用這個事件。
OnCreated(FileSystemEventArgs)
在被監控的目錄中創建文件或目錄時將調用這個事件。這里需要注意的是雖然復制和移動并不是創建,但同樣會觸發這個事件。如果復制或移動文件到被監控的目錄中,則將立即引發 OnCreated 事件,然后是一個或多個 OnChanged 事件。
OnDeleted(FileSystemEventArgs)
當刪除被監控的目錄中的文件或目錄時處罰這個事件。當我們從被監控的目錄中剪切出去文件時,也會觸發這個事件。
OnRenamed(RenamedEventArgs)
重命名被監控目錄中的文件或目錄時將調用這個方法。
2.常用屬性有:
Filter :獲取或設置用于確定目錄中要監視哪些文件的過濾器字符串。
IncludeSubdirectories:獲取或設置是否監控被監控目錄的子目錄。
InternalBufferSize:內部緩沖區大小,最大為64K,默認為8K。
NotifyFilter:獲取或設置哪些內容改變后需要被捕獲,可設置的類型如下:
path:需要監控的文件夾路徑
一、例子
using System; using System.IO; using static System.Console; namespace FileSystemWatcherDemo { class Program { static void Main(string[] args) { FileSystemWatcher fsw = new FileSystemWatcher(); fsw.Path = @"d:\test"; fsw.Filter = "*.txt"; fsw.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.CreationTime | NotifyFilters.FileName; fsw.IncludeSubdirectories = true; fsw.InternalBufferSize = 64 * 1024; fsw.Created += Fsw_Created; fsw.Changed += Fsw_Changed; fsw.Deleted += Fsw_Deleted; fsw.Renamed += Fsw_Renamed; Read(); } private static void Fsw_Renamed(object sender, RenamedEventArgs e) { WriteLine($"原名:{e.OldName} 新名稱:{e.Name}"); } private static void Fsw_Deleted(object sender, FileSystemEventArgs e) { WriteLine($"{e.Name} 我被刪除了"); } private static void Fsw_Changed(object sender, FileSystemEventArgs e) { WriteLine($"{e.Name} 我被修改了"); } private static void Fsw_Created(object sender, FileSystemEventArgs e) { WriteLine($"{e.Name} 我被創建了"); } } }
總結
到此這篇關于C# 監控 Windows 文件夾的方法的文章就介紹到這了,更多相關C# 監控 Windows 文件夾內容請搜索億速云以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持億速云!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。