我使用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);
}
提前谢谢
案例
答案 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。