本文实例讲述了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#相关内容感兴趣的读者可查看本站专题:《C#文件操作常用技巧汇总》、《C#遍历算法与技巧总结》、《C#程序设计之线程使用技巧总结》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》及《C#面向对象程序设计入门教程》
希望本文所述对大家C#程序设计有所帮助。
# C#
# FileSystemWatcher
# 文件监控
# C#中FileSystemWatcher类实现监控文件夹
# C#利用FileSystemWatcher实时监控文件的增加
# 修改
# 重命名和删除
# C# FileSystemWatcher 在监控文件夹和文件时的使用方法
# C#采用FileSystemWatcher实现监视磁盘文件变更的方法
# c#使用filesystemwatcher实时监控文件目录的添加和删除
# c#使用filesystemwatcher监视文件系统的变化
# C#通过FileSystemWatcher监听文件的实战技巧
# 就会
# 重命名
# 设置为
# 若要
# 文本文件
# 或删除
# 程序设计
# 可以使用
# 创建一个
# 文件系统
# 应将
# 相关内容
# 还可以
# 句柄
# 遍历
# 感兴趣
# 数据结构
# 给大家
# 如果没有
# 并对
相关文章:
如何使用Golang安装API文档生成工具_快速生成接口文档
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
香港服务器部署网站为何提示未备案?
南宁网站建设制作定制,南宁网站建设可以定制吗?
建站之星安装后如何配置SEO及设计样式?
如何通过WDCP绑定主域名及创建子域名站点?
开源网站制作软件,开源网站什么意思?
专业商城网站制作公司有哪些,pi商城官网是哪个?
外贸公司网站制作,外贸网站建设一般有哪些步骤?
如何在宝塔面板中修改默认建站目录?
制作网站的过程怎么写,用凡科建站如何制作自己的网站?
如何用美橙互联一键搭建多站合一网站?
建站之星如何实现PC+手机+微信网站五合一建站?
简历在线制作网站免费版,如何创建个人简历?
Swift中swift中的switch 语句
高端云建站费用究竟需要多少预算?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
佛山网站制作系统,佛山企业变更地址网上办理步骤?
网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?
寿县云建站:智能SEO优化与多行业模板快速上线指南
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
如何选择高效稳定的ISP建站解决方案?
建站之星在线版空间:自助建站+智能模板一键生成方案
建站之星免费模板:自助建站系统与智能响应式一键生成
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
建站之星如何快速更换网站模板?
制作证书网站有哪些,全国城建培训中心证书查询官网?
如何在云虚拟主机上快速搭建个人网站?
如何在宝塔面板中创建新站点?
详解jQuery中基本的动画方法
,交易猫的商品怎么发布到网站上去?
如何零基础在云服务器搭建WordPress站点?
建站主机如何选?高性价比方案全解析
定制建站模板如何实现SEO优化与智能系统配置?18字教程
广州商城建站系统开发成本与周期如何控制?
建站上市公司网站建设方案与SEO优化服务定制指南
建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
Android自定义控件实现温度旋转按钮效果
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
网站制作网站,深圳做网站哪家比较好?
Bpmn 2.0的XML文件怎么画流程图
如何用西部建站助手快速创建专业网站?
如何通过二级域名建站提升品牌影响力?
黑客如何通过漏洞一步步攻陷网站服务器?
制作网站外包平台,自动化接单网站有哪些?
威客平台建站流程解析:高效搭建教程与设计优化方案
网站好制作吗知乎,网站开发好学吗?有什么技巧?
教学网站制作软件,学习*后期制作的网站有哪些?
*请认真填写需求信息,我们会在24小时内与您取得联系。