文件监听
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
using System;
using System.Collections.Generic;
using ponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;
using System.Xml;
namespace WindowsFormsApplication1
{
publicpartialclass FSWControl:Form
{
static FileSystemWatcher watcher =new FileSystemWatcher();
public FSWControl()
{
InitializeComponent();
string StrPath=ReadrXML("watchdirectory","savedirectory"); WatcherStrat(StrPath,"*.*",true,true);
}
///
/// 初始化监听
///
/// 需要监听的目录
/// 需要监听的文件类型(筛选器字符串) /// 是否启用监听
/// 是否监听子目录
privatestaticvoid WatcherStrat(string StrWarcherPath,string FilterTy pe,bool IsEnableRaising,bool IsInclude)
{
//初始化监听
watcher.BeginInit();
//设置监听文件类型
watcher.Filter=FilterType;
//设置是否监听子目录
watcher.IncludeSubdirectories=IsInclude;
//设置是否启用监听?
watcher.EnableRaisingEvents=IsEnableRaising;
//设置需要监听的更改类型(如:文件或者文件夹的属性,文件或者文件夹的创建时间;NotifyFilters枚举的内容)
watcher.NotifyFilter=NotifyFilters.Attributes|NotifyFilters.Creat ionTime|NotifyFilters.DirectoryName|NotifyFilters.FileName|Notify
stAccess|stWrite|NotifyFilters.Security |NotifyFilters.Size;
//设置监听的路径
watcher.Path=StrWarcherPath;
//注册创建文件或目录时的监听事件
watcher.Created+=new FileSystemEventHandler(watch_created);
//注册当指定目录的文件或者目录发生改变的时候的监听事件
watcher.Changed+=new FileSystemEventHandler(watch_changed);
//注册当删除目录的文件或者目录的时候的监听事件
watcher.Deleted+=new FileSystemEventHandler(watch_deleted);
//当指定目录的文件或者目录发生重命名的时候的监听事件
watcher.Renamed+=new RenamedEventHandler(watch_renamed);
//结束初始化
watcher.EndInit();
}
///
/// 创建文件或者目录时的监听事件
///
///
///
privatestaticvoid watch_created(object sender,FileSystemEventArgs e) {
//事件内容
}
///
/// 当指定目录的文件或者目录发生改变的时候的监听事件
///
///
///
privatestaticvoid watch_changed(object sender,FileSystemEventArgs e) {
//事件内容
}
///
/// 当删除目录的文件或者目录的时候的监听事件
///
///
///
privatestaticvoid watch_deleted(object sender,FileSystemEventArgs e) {
//事件内容
}
///
/// 当指定目录的文件或者目录发生重命名的时候的事件