【问题标题】:How to get notified if a file was modified outside of my program?如果文件在我的程序之外被修改,如何得到通知?
【发布时间】:2013-05-24 05:55:46
【问题描述】:

我的程序的一部分必须跟踪一组文件,包括它们在内存中的路径和哈希码。

问题是,用户可能希望随时使用外部程序编辑文件。

如果发生这种情况,我希望我的程序得到通知,以便它更新内存中该文件的相应哈希码以及一些其他可能的操作。

理想情况下,我希望通知新线程或专用后台线程并执行必要的操作,而不是主 GUI 线程。我正在使用 ConcurrentDictionary 和类似的线程安全数据结构。

我正在使用 C# 5、Windows 7。

【问题讨论】:

    标签: c# windows file-io


    【解决方案1】:

    您正在寻找FileSystemWatcher

    侦听文件系统更改通知并在何时引发事件 目录或目录中的文件发生更改。

    【讨论】:

    【解决方案2】:

    你检查过FileSystemWatcher 类吗?

    也许这个类可以帮助你在文件发生变化时得到通知。

    【讨论】:

      【解决方案3】:

      FileSystemWatcher 组件可以为您做到这一点:
      http://msdn.microsoft.com/en-us/library/342da5th(v=vs.71).aspx

      我以前曾以与您描述的类似的方式尝试过,效果很好。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多