使用FileSystemWatcher捕获系统文件状态

源代码:
using System;
using System.Collections.Generic;
using System.Linq; using System.Text;
using System.Threading.Tasks; using System.IO;
namespace ConsoleApplication138
{ class Program
{ static void Main(string[] args)
{
Watch(@"c:\t", "*.txt", true);
}
static void Watch(string path,string filter,bool includesubdirs)
{ using (FileSystemWatcher watcher=new FileSystemWatcher (path ,filter ))
{ watcher.Created += watcher_createchangeddeleted;
watcher.Changed += watcher_createchangeddeleted;
watcher .Deleted +=watcher_createchangeddeleted;
watcher .Renamed +=watcher_Renamed;
watcher .Error +=watcher_Error;
watcher.IncludeSubdirectories = includesubdirs;
watcher.EnableRaisingEvents = true;
Console.WriteLine("LIstening for events -press <enter> to end");
Console.Read(); } }
static void watcher_createchangeddeleted(object sender,FileSystemEventArgs e)
{ Console.WriteLine("File :{0} has been {1}", e.FullPath, e.ChangeType); }
static void watcher_Renamed(object sender,RenamedEventArgs e)
{ Console.WriteLine("renamed:{0}->{1}", e.OldFullPath, e.FullPath);
} static void watcher_Error(object sender,ErrorEventArgs e)
{ Console.WriteLine("error: " + e.GetException().Message); }
} }
使用FileSystemWatcher捕获系统文件状态的更多相关文章
- C#通过接口与线程通信(捕获线程状态)介绍
		C#通过接口与线程通信(捕获线程状态)介绍 摘要:本文介绍C#通过接口与线程通信(捕获线程状态),并提供简单的示例代码供参考. 提示:本文所提到的线程状态变化,并不是指线程启动.暂停.停止,而是说线程 ... 
- STM32F4_TIM输入波形捕获(脉冲频率、占空比)
		推荐 分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来! http://www.captainbed.net/strongerhuang Ⅰ.概述 ... 
- List Control控件中及时捕获checkbox被选中的消息的解决方案
		转自:http://blog.csdn.net/vycode/article/details/7345073 我的功能需求是:用户可以在List Control里添加item,当无选项被选中(即Che ... 
- 录屏状态监听之防录屏 - iOS
		继之前接到电话.短信和截屏监听需求之后,在 iOS 11.0 系统之上新增了屏幕录制的新功能玩法,所以也随之迎来了新的屏幕录制监听的需求,即防录屏功能监听 ... 通过官方文档得知 capturedD ... 
- (stm32f103学习总结)—输入捕获模式
		一.输入捕获介绍 在定时器中断实验章节中我们介绍了通用定时器具有多种功能,输入捕获就是其中一种.STM32F1 除了基本定时器 TIM6 和 TIM7,其他定时器都具有输入捕获功能.输入捕获可以对输入 ... 
- iOS视频边下边播--缓存播放数据流
		实现视频边下边播,这里的边下边播不是单独开一个子线程去下载,而是把视频播放的数据给保存到本地.简而言之,就是使用一遍的流量,既播放了视频,也保存了视频. 用到的框架:<AVFoundation/ ... 
- Duilib源码分析(四)绘制管理器—CPaintManagerUI
		接下来,分析uilib.h中的UIManager.h,在正式分析CPaintManagerUI前先了解前面的一些宏.结构: 枚举类型EVENTTYPE_UI:定义了UIManager.h中事件通告类型 ... 
- Git版本控制管理学习笔记3-基本的Git概念
		为了更近一步的学习和理解Git的理念,这一节介绍一下Git中的一些基本概念. 基本概念 对象库图示 Git在工作时的概念 一.基本概念: 1.版本库: Git的版本库就是一个简单的数据库,其中 ... 
- 每天一点Android干货-Activity的生命周期
		Activity Activity是这样一个程序组件,它为用户提供一个用于任务交互的画面. 一个应用程序通常由多个activity组成,它们彼此保持弱的绑定状态.典型的,当一个activity在一个应 ... 
随机推荐
- IOS设计模式学习(8)适配器
			1 前言 在面向对象软件设计中,有时候我们想把有用而经过精心测试的类,用于应用程序的其他新领域.但是,新功能需要新接口,而新接口与要复用的现有类不一致的情况非常普遍.我们不想为新的接口而重写可靠的类. ... 
- C++ Primer 学习笔记_69_面向对象编程 --继承情况下的类作用域
			面向对象编程 --继承情况下的类作用域 引言: 在继承情况下,派生类的作用域嵌套在基类作用域中:假设不能在派生类作用域中确定名字,就在外围基类作用域中查找该名字的定义. 正是这样的类作用域的层次嵌套使 ... 
- H5单页面架构:自定义路由 + requirejs + zepto + underscore
			angular优点: 强大的数据双向绑定 View界面层组件化 内置的强大服务(例如表单校验) 路由简单 angular缺点: 引入的js较大,对移动端来说有点吃不消 语法复杂,学习成本高 backb ... 
- [WARNING] Warning: selected war files include a WEB-INF/web.xml which will be ignored (webxml attribute is missing from war task, or ignoreWebxml attribute is specified as 'true')
			WARNING] Warning: selected war files include a WEB-INF/web.xml which will be ignored (webxml attribu ... 
- oracle中的rowid--伪列-删除表中的重复内容-实用
			1.rowid是一个伪列,是用来确保表中行的唯一性,它并不能指示出行的物理位置,但可以用来定位行. 2.rowid是存储在索引中的一组既定的值(当行确定后).我们可以像表中普通的列一样将它选出来. 3 ... 
- android中列表的滑动删除仿ios滑动删除
			大家是不是觉得ios列表的滑动删除效果很酷炫?不用羡慕android也可以实现相同的效果 并且可以自定义效果,比如左滑删除,置顶,收藏,分享等等 其实就是自定义listview重写listview方法 ... 
- 新博客  Fighting
			C3 Viso绘图 的 几种关系 
- Lambda 表达式中的变量范围
			delegate bool D(); delegate bool D2(int i); class Test { D del; D2 del2; public void TestMethod(int ... 
- 在T-SQL语句中访问远程数据库(openrowset/opendatasource/openquery)
			1.启用Ad Hoc Distributed Queries 在使用openrowset/opendatasource前搜先要启用Ad Hoc Distributed Queries服务,因为这个服务 ... 
- HDU 1065 - I Think I Need a Houseboat
			又是恶心人的水题 圆周率取3.1415926就啥事没有.. #include <iostream> #include <cstdio> #include <cmath&g ... 
