首页 > 代码库 > 使用FileSystemWatcher捕获系统文件状态

使用FileSystemWatcher捕获系统文件状态

源代码:

using System;

using System.Collections.Generic;

using System.Linq; using System.Text;

using System.Threading.Tasks; using System.IO;

namespace ConsoleApplication138

{     class Program    

{         static void Main(string[] args)      

   {

            Watch(@"c:\t", "*.txt", true);     

    }       

  static void Watch(string path,string filter,bool includesubdirs)   

      {             using (FileSystemWatcher watcher=new FileSystemWatcher (path ,filter ))    

         {                 watcher.Created += watcher_createchangeddeleted;           

      watcher.Changed += watcher_createchangeddeleted;               

  watcher .Deleted +=watcher_createchangeddeleted;              

   watcher .Renamed +=watcher_Renamed;                

watcher .Error +=watcher_Error;               

  watcher.IncludeSubdirectories = includesubdirs;    

             watcher.EnableRaisingEvents = true;            

     Console.WriteLine("LIstening for events -press <enter> to end");  

               Console.Read();             }         }       

  static void watcher_createchangeddeleted(object sender,FileSystemEventArgs e)  

       {             Console.WriteLine("File :{0} has been {1}", e.FullPath, e.ChangeType);         }  

       static void watcher_Renamed(object sender,RenamedEventArgs e)      

   {             Console.WriteLine("renamed:{0}->{1}", e.OldFullPath, e.FullPath);

        }         static void watcher_Error(object sender,ErrorEventArgs e)        

{             Console.WriteLine("error: " + e.GetException().Message);         }

    } }

使用FileSystemWatcher捕获系统文件状态