【问题标题】:Find what change occured when the Changed event is fired in a FileSystemWatcher查找在 FileSystemWatcher 中触发 Changed 事件时发生的更改
【发布时间】:2011-04-28 18:55:41
【问题描述】:

我正在使用FileSystemWatcher 来监控文件的更改。

MSDN 文档说,如果 ChangedFileSystemEventArgs 参数中传递给ChangeType,则表示“文件或文件夹的更改。更改的类型包括:对大小、属性、安全设置、上次写入和上次访问时间的更改。”

有没有办法找出其中哪个发生了变化?例如,最后一次访问可以单独更改而不更改大小。我想找出答案。我该怎么做?

P.S. 当然,如果我记录每次触发Changed 事件时我关心的所有属性,然后比较它们,我可以找出发生了什么变化。但是有没有更简单的方法......比如通过某个事件获得通知或读取某个对象的属性? :D

【问题讨论】:

  • 您知道limited buffer size 吗?如果发生许多变化,细节就会丢失。
  • 是的,我知道。我在 MSDN 文档中读到了它。

标签: c# filesystemwatcher .net-4.0


【解决方案1】:

您可以使用 FileSystemWatcher.NotifyFilter 根据发生的情况过滤事件。 MSDN

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-18
    • 2012-05-02
    • 1970-01-01
    相关资源
    最近更新 更多