程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> System.IO.FileSystemWatcher 監視目錄文件的狀態

System.IO.FileSystemWatcher 監視目錄文件的狀態

編輯:.NET實例教程

System.IO.FileSystemWatcher

MSDN 說明:偵聽文件系統更改通知,並在目錄或目錄中的文件發生更改時引發事件。 

這兩天看到論壇上關於如何監視目錄文件的狀態帖子很多,自己今天也在看System.IO下面的類,就順便把他給看了,並實驗了一下,其實此類用起來非常簡單,不過有兩三個地方需要注意下,下面把需要注意的地方說一下

  System.IO.FileSystemWatcher watch = new FileSystemWatcher("D:\\1\\");       //初始化目錄監視
            watch.Filter = "*.txt";                      //監視的對象,目錄中監視哪些文件,默認為*.*
           //不過這裡有個好玩的地方,實驗證明,通配符可以用在很多地方,比如可以設置成為  watch.Filter = "*.tx*";    針對具體文件就寫具體文件名
            watch.Changed += new FileSystemEventHandler(watch_Changed);         //文件改變事件
            watch.Created += new FileSystemEventHandler(watch_Created);         //文件添加事件
            watch.Deleted += new FileSystemEventHandler(watch_Deleted);         //文件刪除事件
            //otifyFilter:獲取或設置要監視的更改類型。
            //下面是csdn例子對文件屬性的監視,這裡有個問題,就是NotifyFilters.LastAccess | NotifyFilters.LastWrite同時設置的話 Changed事件會運行兩次
            //原因就是 LastAccess 文件或文件夾上一次打開的日期。  LastWrite 上一次向文件或文件夾寫入內容的日期。 打開文件修改的時候會同時激發
            //這個是要注意的第二點
            watch.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite|NotifyFilters.FileName | NotifyFilters.DirectoryName;
            //要注意的第三點,如果下面不設置為true,事件是不會運行的 EnableRaisingEvents 屬性是指示是否啟用此組件
            watch.EnableRaisingEvents = true;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved