FileSystemWatcher常用来监听文件系统中的文件或者文件夹的变化。
一、常用事件
Changed: 当文件或者文件夹发生修改时触发
Created:当文件或者文件夹成功创建时触发
Deleted:当文件或者文件夹成功删除时触发
Renamed:当文件或者文件夹被重命名时触发
Error:当变更的过程中发生错误触发
二、基本属性
(1) Path :设置要监视的目录的路径。
(2) IncludeSubdirectories :设置是否级联监视指定路径中的子目录。
(3) Filter :设置筛选字符串,用于确定在目录中监视哪些类型的文件。
(4) NotifyFilter :设置文件的哪些属性的变动会触发 Changed事件,同时监控多个属性变动可以按“或”组合。(默认值为 NotifyFilter.LastWrite | NotifyFilter.FileName | NotifyFilter.DirectoryName 组合)
(5) EnableRaisingEvents :设置是否开始监控。(默认为false)
NotifyFilters的属性如下:
属性名 | 意思 |
---|---|
Attributes | 文件或文件夹的属性 |
CreationTime | 文件或文件夹的创建时间 |
DirectoryName | 目录名 |
FileName | 文件名 |
LastAccess | 文件或文件夹上一次打开的日期 |
LastWrite | 上一次向文件或文件夹写入内容的日期 |
Security | 文件或文件夹的安全设置 |
Size | 文件或文件夹的大小 |
三、代码示例
private static void FileWatcher(string path, string filter)
{
FileSystemWatcher fileSystemWatcher = new FileSystemWatcher();
fileSystemWatcher.Path = path;
fileSystemWatcher.NotifyFilter = NotifyFilters.LastAccess