C#FileSystemWatcher对象的实例

当FileSystemWatcher调用一个事件处理器时,它包含两个自变量——一个叫做“sender”的对象和一个叫做“e”的FileSystemEventArgs对象。我们感兴趣的自变量为FileSystemEventArgs自变量。这个对象中包含有提交事件的原因。以下是FileSystemEventArgs对象的一些属性:

成都创新互联网站建设公司一直秉承“诚信做人,踏实做事”的原则,不欺瞒客户,是我们最起码的底线! 以服务为基础,以质量求生存,以技术求发展,成交一个客户多一个朋友!专注中小微企业官网定制,网站设计制作、网站制作,塑造企业网络形象打造互联网企业效应。

属性:

1.Name——这个属性中使事件被提交的文件的名称。其中并不包含文件的路径——只包含使用事件被提交的文件或目录名称。
2.ChangeType——这是一个WatcherChangeTypes,它指出要提交哪个类型的事件。其有效值包括:
◆Changed
◆Created
◆Deleted
◆Renamed
3.FullPath——这个属性中包含使事件被提交的文件的完整路径,包括文件名和目录名。

代码实例

下列代码列出了C# FileSystemWatcher对象的一个简单应用实例。在这个例子中,我们监控“C:Temp”目录中是否建立了*.TXT文件。这可能是FileSystemWatcher的最简单用法。

 
 
 
  1. publicvoid CreateWatcher(){  
  2. //Create a new FileSystemWatcher.  
  3. FileSystemWatcher watcher = newFileSystemWatcher();  
  4. //Set the filter to only catch TXT files.  
  5. watcher.Filter = "*.txt";  
  6. //Subscribe to the Created event.  
  7. watcher.Created += new  
  8. FileSystemEventHandler(watcher_FileCreated);  
  9. //Set the path to C:Temp  
  10. watcher.Path = @"C:Temp";  
  11. //Enable the FileSystemWatcher events.  
  12. watcher.EnableRaisingEvents = true;  
  13. }  
  14. void watcher_FileCreated(object sender, FileSystemEventArgs e){  
  15. //A new .TXT file has been created in C:Temp  
  16. Console.WriteLine("A new *.txt file has been created!");  

应用

最初,FileSystemWatcher的用途可能并不明显。当然,如果一个文件或目录发生改变,它会向我们发出警报,但在哪些情况下我们需要这类信息呢?

如果一个系统允许客户端上传文件进行处理,这时可能就要用到C# FileSystemWatcher对象。尽管很明显我们已经进入Web服务和SOA时代,但许多系统仍然要将平面文件插入到某些位置,不管是FTP服务器或网络共享文件夹中。我已经将C# FileSystemWatcher对象应用到这种类型的系统中,虽然并不是完全没有出错,但它在“调查”目录变化方面确实有一定的优势。

如果你想让两个文件保持同步,这时也可以用到C# FileSystemWatcher对象。你可以用FileSystemWatcher同时监控这两个文件的位置,如果其中一个出现更新,就提交一个Changed事件;然后你就可以将这些改变复制到其它系统/文件中。

如果你的系统有任何功能需要进行文件或目录监控,你必须仔细了解那个组件,看是否可以使用C# FileSystemWatcher对象。在我的应用过程中,这个对象至少为送交给系统的每个文件节省了10秒钟的时间。

本文题目:C#FileSystemWatcher对象的实例
文章网址:http://www.hantingmc.com/qtweb/news0/305200.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联