欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

C# 監(jiān)聽(tīng)文件和目錄系統(tǒng)變化(FileSystemWatcher)

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

FileSystemWatcher常用來(lái)監(jiān)聽(tīng)文件系統(tǒng)中的文件或者文件夾的變化。

一、常用事件

Changed: 當(dāng)文件或者文件夾發(fā)生修改時(shí)觸發(fā)
Created:當(dāng)文件或者文件夾成功創(chuàng)建時(shí)觸發(fā)
Deleted:當(dāng)文件或者文件夾成功刪除時(shí)觸發(fā)
Renamed:當(dāng)文件或者文件夾被重命名時(shí)觸發(fā)
Error:當(dāng)變更的過(guò)程中發(fā)生錯(cuò)誤觸發(fā)

二、基本屬性

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

NotifyFilters的屬性如下:

屬性名意思
Attributes文件或文件夾的屬性
CreationTime文件或文件夾的創(chuàng)建時(shí)間
DirectoryName目錄名
FileName文件名
LastAccess文件或文件夾上一次打開(kāi)的日期
LastWrite上一次向文件或文件夾寫入內(nèi)容的日期
Security文件或文件夾的安全設(shè)置
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”只監(jiān)視文本文件      fileSystemWatcher.Filter = filter;    // 監(jiān)控的文件格式      watch.IncludeSubdirectories = true;  // 監(jiān)控子目錄      fileSystemWatcher.Changed += new FileSystemEventHandler(OnProcess);      fileSystemWatcher.Created += new FileSystemEventHandler(OnProcess);      fileSystemWatcher.Renamed += new RenamedEventHandler(OnRenamed);      fileSystemWatcher.Deleted += new FileSystemEventHandler(OnProcess);      //表示當(dāng)前的路徑正式開(kāi)始被監(jiān)控,一旦監(jiān)控的路徑出現(xiàn)變更,F(xiàn)ileSystemWatcher 中的指定事件將會(huì)被觸發(fā)。      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);    }

總結(jié)

1、重命名會(huì)觸發(fā)兩個(gè)事件,Renamed和Changed。
2、FileSystemWatcher類本身就是多線程的控件,每實(shí)例化一個(gè)FileSystemWatcher自動(dòng)就會(huì)創(chuàng)建一條線程。
3、創(chuàng)建、修改、刪除事件傳遞的是FileEventArgs對(duì)象,而重命名事件傳遞的是RenameEventArgs對(duì)象。
4、如果需要同時(shí)監(jiān)控多個(gè)文件,需要?jiǎng)?chuàng)建FileSystemWatcher數(shù)組,每個(gè)文件用一個(gè)FileSystemWatcher進(jìn)行監(jiān)控。


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