获取有关FileSystemEventArgs.ChangeType的详细信息

时间:2010-04-17 23:56:02

标签: c#

我使用FileWatcher类来查找特定文件夹中文件的更改。

我设法检测到文件上的更改,但未检测到详细信息。

在WatcherChangeTypes枚举页

http://msdn.microsoft.com/en-us/library/t6xf43e0%28v=VS.100%29.aspx

他们写的更改类型检测到更改包括:更改大小,属性,安全设置,上次写入和上次访问时间。

有没有办法检测发生了哪种变化?

这就是我使用的事件处理程序方法。

private void OnChanged(object source, FileSystemEventArgs e)
{
     Console.WriteLine("File: " + e.FullPath + " Change Type: " + e.ChangeType);

}

提前谢谢

案例

1 个答案:

答案 0 :(得分:3)

我认为你想要的是一个FileSystemWatcher NotifyFilter调整到特定类型的变更:

var fsw = new FileSystemWatcher("C:\\");
fsw.NotifyFilter = NotifyFilters.LastAccess;
fsw.Changed += OnFileAccessed

private static void OnFileAccessed( object sender, FileSystemEventArgs e )
{
    ...
}

如果您希望根据不同的更改触发器触发不同的事件,我相信您需要在同一个文件上有多个观察者。

有关详情,请参阅FileSystemWatcher.NotifyFilter