狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C# 監聽文件和目錄系統變化(FileSystemWatcher)

admin
2023年12月26日 22:0 本文熱度 737

FileSystemWatcher常用來監聽文件系統中的文件或者文件夾的變化。

一、常用事件

Changed: 當文件或者文件夾發生修改時觸發
Created:當文件或者文件夾成功創建時觸發
Deleted:當文件或者文件夾成功刪除時觸發
Renamed:當文件或者文件夾被重命名時觸發
Error:當變更的過程中發生錯誤觸發

二、基本屬性

(1) Path :設置要監視的目錄的路徑。
(2) IncludeSubdirectories :設置是否級聯監視指定路徑中的子目錄。
(3) Filter :設置篩選字符串,用于確定在目錄中監視哪些類型的文件。
(4) NotifyFilter :設置文件的哪些屬性的變動會觸發 Changed事件,同時監控多個屬性變動可以按“或”組合。(默認值為 NotifyFilter.LastWrite | NotifyFilter.FileName | NotifyFilter.DirectoryName 組合)
(5) EnableRaisingEvents :設置是否開始監控。(默認為false)

NotifyFilters的屬性如下:

屬性名意思
Attributes文件或文件夾的屬性
CreationTime文件或文件夾的創建時間
DirectoryName目錄名
FileName文件名
LastAccess文件或文件夾上一次打開的日期
LastWrite上一次向文件或文件夾寫入內容的日期
Security文件或文件夾的安全設置
Size文件或文件夾的大小

三、代碼示例

   private static void FileWatcher(string path, string filter)    {      FileSystemWatcher fileSystemWatcher = new FileSystemWatcher();      fileSystemWatcher.Path = path;      fileSystemWatcher.NotifyFilter = NotifyFilters.LastAccess                                     | NotifyFilters.LastWrite       | NotifyFilters.FileName         |NotifyFilters.DirectoryName;       //文件類型,支持通配符,“*.txt”只監視文本文件      fileSystemWatcher.Filter = filter;    // 監控的文件格式      watch.IncludeSubdirectories = true;  // 監控子目錄      fileSystemWatcher.Changed += new FileSystemEventHandler(OnProcess);      fileSystemWatcher.Created += new FileSystemEventHandler(OnProcess);      fileSystemWatcher.Renamed += new RenamedEventHandler(OnRenamed);      fileSystemWatcher.Deleted += new FileSystemEventHandler(OnProcess);      //表示當前的路徑正式開始被監控,一旦監控的路徑出現變更,FileSystemWatcher 中的指定事件將會被觸發。      fileSystemWatcher.EnableRaisingEvents = true;    } private static void OnProcess(object source, FileSystemEventArgs e) {     if (e.ChangeType == WatcherChangeTypes.Created)     {           OnCreated(source, e);   }     else if (e.ChangeType == WatcherChangeTypes.Changed)     {           OnChanged(source, e);     }     else if (e.ChangeType == WatcherChangeTypes.Deleted)     {           OnDeleted(source, e);     } } private static void OnCreated(object source, FileSystemEventArgs e)    {      Console.WriteLine("File created: {0} {1} {2}", e.ChangeType, e.FullPath, e.Name);    }    private static void OnChanged(object source, FileSystemEventArgs e)    {      Console.WriteLine("File changed: {0} {1} {2}", e.ChangeType, e.FullPath, e.Name);    }    private static void OnDeleted(object source, FileSystemEventArgs e)    {      Console.WriteLine("File deleted: {0} {1} {2}", e.ChangeType, e.FullPath, e.Name);    } private static void OnRenamed(object source, FileSystemEventArgs e)    {      Console.WriteLine("File renamed: {0} {1} {2}", e.ChangeType, e.FullPath, e.Name);    }

總結

1、重命名會觸發兩個事件,Renamed和Changed。
2、FileSystemWatcher類本身就是多線程的控件,每實例化一個FileSystemWatcher自動就會創建一條線程。
3、創建、修改、刪除事件傳遞的是FileEventArgs對象,而重命名事件傳遞的是RenameEventArgs對象。
4、如果需要同時監控多個文件,需要創建FileSystemWatcher數組,每個文件用一個FileSystemWatcher進行監控。


該文章在 2023/12/26 22:00:53 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved