本文实例报告了C#运用FileSystemWatcher控件完成的文件监控功用。分享给人人供人人参考,细致以下:
FileSystemWatcher
能够运用FileSystemWatcher组件看管文件体系,并对文件体系的转变作出反应。经由历程运用FileSystemWatcher组件,在特定的文件或目次被建立、修正或删除时,能够疾速和便利地启动业务流程。
比方,假如一组用户在协作处置惩罚一个存储在服务器同享目次下的文档时,能够运用FileSystemWatcher组件编写应用顺序来看管对同享目次的变动状况。当检测到变动时,该组件能够运转处置惩罚历程,经由历程电子邮件关照每一个用户。
能够设置组件来看管全部目次及其内容,或特定目次下一个特定的文件或一组文件。若要看管一切文件中的变动,应将Filter属性设置为空字符串("");若要看管特定的文件,应将Filter属性设置为该文件的文件名(比方,若要看管文件MyDoc.txt中的变动,将Filter属性设置为"MyDoc.txt");也能够看管特定文件范例中的变动,比方若要看管文本文件中的变动,将Fillter属性设置为"*.txt"。
【提醒】不要疏忽隐蔽文件。
可看管目次或文件中的多少种变动。比方,可看管文件或目次的Attributes、LastWrite的日期和时候或Size的变动。经由历程将
FileSystemWatcher.NotifyFilter属性设置为NotifyFilters中的某个值,就能够完成这个目的。
还能够看管文件或目次的重命名、删除或建立。比方,若要看管文本文件的重命名,可将Filter属性设置为"*.txt",并挪用一个WaitForChanged要领,并设置该要领中WatcherChangeTypes的值为Renamed。
下面举例说明。建立一个FileSystemWatche组件来看管运转时指定的目次。组件被设置用来看管LastWrite和LastAccess时候的变动,以及目次中文本文件的建立、删除或重命名。假如文件被变动、建立或删除,则文件的途径就会被输出到控制台。当一个文件被重命名时,旧的和新的途径都被输出到控制台。
实例 运用FileSystemWatche组件来看管运转时指定的目次:
using System; using System.IO; public class watcher { public static void Main(string[] args) { //假如没有指定目次,则退出顺序 if(args.Length!=1) { //显现挪用顺序的准确要领 Console.WriteLine("usage:Watcher.exe(directory)"); return; } //建立一个新的FileSystemWatcher并设置其属性 FileSystemWatcher watcher=new FileSystemWatcher(); watcher.Path=args[O]; /*看管LastAcceSS和LastWrite时候的变动以及文件或目次的重命名*/ watcher.NotifyFilter=NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName; //只看管文本文件 watcher.Filter="*.txt"; //增加事宜句柄 //当由FileSystemWatcher所指定的途径中的文件或目次的 //大小、体系属性、末了写时候、末了接见时候或平安权限 //发作变动时,变动事宜就会发作 watcher.Changed +=new FileSystemEventHandler(OnChanged); //由FileSystemWatcher所指定的途径中文件或目次被建立时,建立事宜就会发作 watcher.Created +=new FileSystemEventHandler(OnChanged); //当由FileSystemWatcher所指定的途径中文件或目次被删除时,删除事宜就会发作 watcher.Deleted +=new FileSystemEventHandler(OnChanged) ; //当由FileSystemWatcher所指定的途径中文件或目次被重命名时,重命名事宜就会发作 watcher.Renamed +=new RenamedEventHandler(OnRenamed); //最先看管 watcher.EnableRaisingEvents=true; //守候用户退出顺序 Console.WriteLine("Press\'q\' to quit the sample."); while(Console.Read()!='q'); } //定义事宜处置惩罚顺序 public static void OnChanged(object sender,FileSystemEventArgs e) { //指定当文件被变动、建立或删除时要做的事 Console.WriteLine("file:"+e.FullPath+""+e.ChangeType); } public static void OnRenamed(object sender,RenamedEventArgs e) { //指定当文件被重命名时发作的行动 Console.WriteLine("Fi]e:{0} renamed to{1}",e.OldFullPath,e.FullPath); } }
以上就是C#怎样应用FileSystemWatcher控件完成的文件监控的细致示例分享的细致内容,更多请关注ki4网别的相干文章!