日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

C# FileSystemWatcher對象

系統(tǒng) 2438 0

?

許多情況下,如果創(chuàng)建或修改一個(gè)文件,系統(tǒng)需要執(zhí)行某些任務(wù)。例如,在一個(gè)數(shù)據(jù)庫中插入平面文件的重要系統(tǒng)就是如此。

??? 在這種情況下,程序必須監(jiān)控目錄中新建立的文件。如果目錄中新建了一個(gè)文件,程序必須提取這個(gè)文件、進(jìn)行解析、再把它插入到數(shù)據(jù)庫中。

??? 許多時(shí)候,這類功能要通過“調(diào)查”目錄并列舉上次調(diào)查后任何新建的文件來完成。在.NET Framework中,微軟為開發(fā)者提供另一種連續(xù)調(diào)查一個(gè)目錄中的新建文件的方法——C# FileSystemWatcher對象。

??? C# FileSystemWatcher對象為你完成目錄監(jiān)控工作。如果新建、更新或刪除一個(gè)文件,F(xiàn)ileSystemWatcher將提交一個(gè)事件,通知你發(fā)生了一項(xiàng)改變。這樣,新建一個(gè)文件后,你的程序立即就知道可以使用這個(gè)文件。立即通知改變使得你的系統(tǒng)以更高的效率工作,因?yàn)槟悴荒芸偸恰罢{(diào)查”目錄中發(fā)生的改變,而且在兩次目錄掃描之間也不會有時(shí)間流失。

??? FileSystemWatcher基礎(chǔ)

??? 在應(yīng)用C# FileSystemWatcher對象之前,你必須了解這個(gè)對象的一些基本屬性和事件。毫無疑問,這個(gè)對象的最重要的屬性為“EnableRaisingEvents”屬性。

??? 這個(gè)屬性決定對象在收到改變通知時(shí)是否提交事件。如果EnableRaisingEvents屬性設(shè)為假,對象將不會提交改變事件。如果設(shè)為真,它將提交改變事件。下面是你在應(yīng)用C# FileSystemWatcher對象時(shí)將要用到的其它一些重要屬性/事件:

屬性

??? ◆Path——這個(gè)屬性告訴FileSystemWatcher它需要監(jiān)控哪條路徑。例如,如果我們將這個(gè)屬性設(shè)為“C:Temp”,對象就監(jiān)控那個(gè)目錄發(fā)生的所有改變。
??? ◆IncludeSubDirectories——這個(gè)屬性說明C# FileSystemWatcher對象是否應(yīng)該監(jiān)控子目錄中發(fā)生的改變。
??? ◆Filter——這個(gè)屬性允許你過濾掉某些類型的文件發(fā)生的變化。例如,如果我們只希望在TXT文件被修改/新建/刪除時(shí)提交通知,可以將這個(gè)屬性設(shè)為“*txt”。在處理高流量或大型目錄時(shí),使用這個(gè)屬性非常方便。

事件

??? ◆Changed——當(dāng)被監(jiān)控的目錄中有一個(gè)文件被修改時(shí),就提交這個(gè)事件。值得注意的是,這個(gè)事件可能會被提交多次,即使文件的內(nèi)容僅僅發(fā)生一項(xiàng)改變。這是由于在保存文件時(shí),文件的其它屬性也發(fā)生了改變。
??? ◆Created——當(dāng)被監(jiān)控的目錄新建一個(gè)文件時(shí),就提交這個(gè)事件。如果你計(jì)劃用這個(gè)事件移動新建的事件,你必須在事件處理器中寫入一些錯(cuò)誤處理代碼,它能處理當(dāng)前文件被其它進(jìn)程使用的情況。之所以要這樣做,是因?yàn)镃reated事件可能在建立文件的進(jìn)程釋放文件之前就被提交。如果你沒有準(zhǔn)備正確處理這種情況的代碼,就可能出現(xiàn)異常。
??? ◆Deleted——當(dāng)被監(jiān)控的目錄中有一個(gè)文件被刪除,就提交這個(gè)事件。
??? ◆Renamed——當(dāng)被監(jiān)控的目錄中有一個(gè)文件被重命名,就提交這個(gè)事件。

??? 注:如果你沒有將EnableRaisingEvents設(shè)為真,系統(tǒng)不會提交任何一個(gè)事件。如果有時(shí)C# FileSystemWatcher對象似乎無法工作,請首先檢查EnableRaisingEvents,確保它被設(shè)為真。

C# FileSystemWatcher對象


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 淮北市| 册亨县| 井陉县| 将乐县| 肥乡县| 砚山县| 黑水县| 垫江县| 宜良县| 灵石县| 昭苏县| 怀仁县| 永和县| 阿坝| 东乡族自治县| 大足县| 德格县| 芦溪县| 富裕县| 阳东县| 赤峰市| 郓城县| 海原县| 怀宁县| 宝丰县| 邹平县| 达日县| 龙泉市| 黔江区| 高雄市| 奉化市| 兴山县| 北流市| 九寨沟县| 云浮市| 奉贤区| 靖宇县| 丰镇市| 桂阳县| 寿宁县| 大港区|