重庆网站备案系统,门户网站建设情况汇报,南京发布最新通报,百度官方网平台FileSystemWatcher可以使用FileSystemWatcher组件监视文件系统#xff0c;并对文件系统的改变作出反应。通过使用FileSystemWatcher组件#xff0c;在特定的文件或目录被创建、修改或删除时#xff0c;可以快速和便捷地启动业务流程。例如#xff0c;如果一组用户在合作处理… 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 watchernew FileSystemWatcher();watcher.Pathargs[O];/*监视LastAcceSS和LastWrite时间的更改以及文件或目录的重命名*/watcher.NotifyFilterNotifyFilters.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.EnableRaisingEventstrue;//等待用户退出程序Console.WriteLine(Press\q\ to quit the sample.);while(Console.Read()!q);}//定义事件处理程序public static void OnChanged(object sender,FileSystemEventArgs e) {//指定当文件被更改、创建或删除时要做的事Console.WriteLine(file:e.FullPathe.ChangeType);}public static void OnRenamed(object sender,RenamedEventArgs e) {//指定当文件被重命名时发生的动作Console.WriteLine(Fi]e:{0} renamed to{1},e.OldFullPath,e.FullPath);}
}