监控文件系统-机器人学导论第三版课后习题答案
21.4 监控文件系统
有时,应用程序所需要完成的工作不仅仅限于从文件系统中读写文件。知道修改文件或目录的时间非常重要。.NET Framework允许方便地创建完成这些任务的定制应用程序。帮助完成这些任务的类是FileSystemWatcher。这个类提供了几个应用程序可以捕获的事件。应用程序可以对文件系统事件作出响应。
使用FileSystemWatcher的基本过程非常简单。首先必须设置一些属性,指定监控的位置、内容以及引发应用程序要处理的事件的时间。然后给FileSystemWatcher提供定制事件处理程序的地址,当发生重要事件时,FileSystemWatcher就可以进行调用。打开FileSystemWatcher后,等待事件。在启用FileSystemWatcher对象之前必须设置的属性如表21-10所示。
表21-10 属性说明
| 属性 | 说明 |
| ---------- | ----------------------------------------------------------------------------------------- |
| Path | 设置要监控的文件位置或目录 |
| NotifyFilter | 这是NotifyFilters枚举值的组合,规定在被监控的文件内要监控哪些内容。这些表示要监控的文件或文件夹的属性。如果规定的属性发生了变化,就引发事件。可能的枚举值是Attributes、CreationTime、DirectoryName、FileName、LastAccess、LastWrite、Security和Size。注意,可以通过二元OR运算符来合并这些枚举值。 |
| Filter | 指定要监控哪些文件的过滤器,*.txt |
设置之后,就必须为4个事件Changed、Created、Deleted和Renamed编写事件处理程序。如第13章所述,这需要创建自己的方法,并将方法赋给对象的事件。将自己的事件处理程序赋给这些方法,就可以在引发事件时调用方法。
对于FileSystemWatcher的更多详细信息,您可以参考FileSystemWatcher文件监控和FileSystemWatcher监控目录。FileSystemWatcher文件系统监视器也提供了有用的实例和说明。
当你需要监控目录变化时,FileSystemWatcher监控目录变化及更新提供了很好的指导。对C++感兴趣的读者可以查看c++文件监控之FileSystemWatcher,了解更多关于FileSystemWatcher的高级用法。
这样,您的应用程序就可以在文件系统发生变化时及时响应,确保重要数据的完整性和安全性。