使用FileSystemWatcher捕获系统文件状态

时间:2023-03-08 17:26:49

使用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);         }

} }

相关文章