//using System.IO;
/// <summary>
/// 开始监视
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
//监视对象
FileSystemWatcher watcher = new FileSystemWatcher(@"E:\test");
//各事件处理程序
watcher.Created += new FileSystemEventHandler(Watcher);
watcher.Changed += new FileSystemEventHandler(Watcher);
watcher.Deleted += new FileSystemEventHandler(Watcher);
watcher.Renamed += new RenamedEventHandler(Renamed);
//监视类型
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.Size | NotifyFilters.DirectoryName;
//监视子目录
watcher.IncludeSubdirectories = true;
//启动监视
watcher.EnableRaisingEvents = true;
}
/// <summary>
/// 更新操作(创建、更新和删除)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Watcher(object sender, FileSystemEventArgs e)
{
File.AppendAllText(@"E:\log.txt", string.Format("{0}: {1},{2}\r\n", e.ChangeType, e.FullPath, e.Name));
}
/// <summary>
/// 重命名
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Renamed(object sender, RenamedEventArgs e)
{
File.AppendAllText(@"E:\log.txt", string.Format("{0}: {1},{2},{3},{4}\r\n", e.ChangeType, e.OldFullPath, e.FullPath, e.OldName, e.Name));
}说明:测试过程中发现当复制一个文件到监视文件夹时会引发一次Created事件和多次的Changed事件!
评论(0)
暂无评论。