C#使用FileSystemWatcher來監(jiān)視系統(tǒng)中文件和目錄的變化
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
導(dǎo)讀 很多時(shí)候,我們都需要知道某些目錄下的文件什么時(shí)候被新增、修改、刪除過等。本文講述利用FileSystemWatcher實(shí)現(xiàn)實(shí)時(shí)監(jiān)控文件的增加、修改、重命名和刪除,感興趣的可以了解一下。 對(duì)于一個(gè)文件夾的改變,C#這邊有自己的類來實(shí)現(xiàn),我們不需要關(guān)心它的內(nèi)部實(shí)現(xiàn)機(jī)制,不需要關(guān)心它底層調(diào)用哪些API,我們只需要關(guān)心如何去調(diào)用它,如何讓它幫助我們記錄文件夾的修改情況即可。
#region 監(jiān)視文件夾的變化 FileSystemWatcher watcher = new FileSystemWatcher(); watcher.Path = "f:\\"; watcher.NotifyFilter =//被監(jiān)控的方面 NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName;
// 訂閱一些事件,當(dāng)它被觸發(fā)時(shí)(.net(windows)底層觸發(fā)它,我們不用管),執(zhí)行我們的方法 watcher.Changed += (object source, FileSystemEventArgs e) => { Console.WriteLine("文件{0}已經(jīng)被修改,修改類型{1}", e.FullPath, e.ChangeType.ToString()); }; watcher.Created += (object source, FileSystemEventArgs e) => { Console.WriteLine("文件{0}被建立", e.FullPath); }; watcher.Deleted += (object source, FileSystemEventArgs e) => { Console.WriteLine("文件{0}已經(jīng)被刪除", e.FullPath); }; watcher.Renamed += (object source, RenamedEventArgs e) => { Console.WriteLine("文件{0}的名稱已經(jīng)從{1}變成了{(lán)2}", e.OldFullPath, e.OldName, e.Name); };
// 為true表示開啟FileSystemWatcher組件,反之我們的監(jiān)控將不啟作用 watcher.EnableRaisingEvents = true; #endregion 該文章在 2023/12/26 22:27:30 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |