惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Privacy & Cybersecurity Law Blog
V
V2EX
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Register - Security
The Register - Security
MongoDB | Blog
MongoDB | Blog
P
Privacy International News Feed
The Last Watchdog
The Last Watchdog
Security Archives - TechRepublic
Security Archives - TechRepublic
美团技术团队
Stack Overflow Blog
Stack Overflow Blog
博客园 - 司徒正美
博客园 - 三生石上(FineUI控件)
V
Visual Studio Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
K
Kaspersky official blog
S
Secure Thoughts
T
Tenable Blog
Security Latest
Security Latest
The Cloudflare Blog
S
Security @ Cisco Blogs
H
Heimdal Security Blog
aimingoo的专栏
aimingoo的专栏
TaoSecurity Blog
TaoSecurity Blog
Blog — PlanetScale
Blog — PlanetScale
Microsoft Security Blog
Microsoft Security Blog
Schneier on Security
Schneier on Security
Webroot Blog
Webroot Blog
G
Google Developers Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Scott Helme
Scott Helme
IT之家
IT之家
Latest news
Latest news
The Hacker News
The Hacker News
C
Check Point Blog
T
The Exploit Database - CXSecurity.com
H
Hackread – Cybersecurity News, Data Breaches, AI and More
腾讯CDC
C
CERT Recently Published Vulnerability Notes
NISL@THU
NISL@THU
N
News | PayPal Newsroom
Forbes - Security
Forbes - Security
P
Palo Alto Networks Blog
S
Security Affairs
S
Securelist
Google Online Security Blog
Google Online Security Blog
WordPress大学
WordPress大学
Last Week in AI
Last Week in AI
C
Cybersecurity and Infrastructure Security Agency CISA
A
About on SuperTechFans

博客园 - Lucky Jack

在C#中展示嵌入的RTF文件 SQL进行排序、分组、统计的10个新技巧 select into 和 insert into select的区别 Convert的妙用 DataGridView中回车键的妙用 如何去除C#Strings中的空格? Format String for XML Value - Lucky Jack 如何改变字体大小呢? 如何改变字体风格? C# String小技巧 如何避免按回车键时的嗡鸣声? - Lucky Jack - 博客园 如何嵌入图片资源? Lookupedit使用小记 如何优雅的编程? 反射也可以这样? - Lucky Jack - 博客园 浅谈对象的初始化顺序 也谈String.IsNullOrEmpty 经典的属性设置! 经典sql
文件监视器( FileSystemWatcher) 类的使用 - Lucky Jack
Lucky Jack · 2008-02-22 · via 博客园 - Lucky Jack

正如你所想象的,文件监视器类的作用正如其字面含义,它监视一个系统文件,你只需给一个路径,它将触发一个事件当这个路径下文件变化时.它可以监视文件的"重命名","删除","改变"和"创建".让我们来看一下代码:

1FileSystemWatcher watcher = new FileSystemWatcher();
2watcher.Path = @"C:\MyDirectory";
3watcher.Renamed += new RenamedEventHandler(watcher_Renamed)
4watcher.EnableRaisingEvents = true;    
正如你所看到的,FileSystemWatcher 的用法相当的简单.这里每一个行为都会被监视的,一旦你想把这些事件挂上,在这个重命名例子中,你已经设置EnableRaisingEvents 属性为true,它将开始监视,在这个例子中, 任何在C:\MyDirectory 目录下的文件重命名时,watcher_Renamed 方法都将被调用, 这个 RenamedEventHandler 包含了很多关于这个重命名文件的有用的信息 - 像文件的就名字(old file name)和新文件名( new file name).

void watcher_Renamed(object sender, RenamedEventArgs e)
{
  Console.WriteLine("File Renamed: Old Name: " + e.OldName +
    " New Name: " + e.Name);
}

在这个FileSystemWatcher 类中其他所有的事件将通过一个 FileSystemEventArgs 对象传给事件处理程序.

watcher.Deleted += new FileSystemEventHandler(watcher_Deleted);
watcher.Changed += new FileSystemEventHandler(watcher_Changed);
watcher.Created += new FileSystemEventHandler(watcher_Created);

FileSystemEventArgs 包含文件名, 完全路径名和导致事件的行为.
所以如果你想监视一个单独的文件或者一个单独类型的文件(像.txt文件)这个 FileSystemWatcher 包含一个 Filter 属性来处理.

//watches only myFile.txt
watcher.Filter = "myFile.txt";
//watches all files with a .txt extension
watcher.Filter = "*.txt";

这个 Filter 属性能接受通配符. 在这个例子中, 当一个.txt条件的文件改变时,事件将被触发.
最好FileSystemWatcher 一个重要的属性IncludeSubdirectories. 这个属告诉类去监视你所给文件夹和其子文件夹下的所有文件.
这个FileSystemWatcher 类是简单的, 但当一个文件被"重命名","创建","改变"或"删除"时,请记得这个类.