如果文件在我的程序之外被修改,如何获得通知

本文关键字:修改 何获得 通知 文件 我的 程序 如果 | 更新日期: 2023-09-27 18:15:21

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

问题是,用户可能希望在任何时间点使用外部程序编辑文件。

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

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

我用的是c# 5, Windows 7。

如果文件在我的程序之外被修改,如何获得通知

你要找的是FileSystemWatcher

监听文件系统更改通知,并在目录或目录中的文件发生了变化。

是否检查了FileSystemWatcher类?

也许这个类可以帮助您在文件更改时获得通知。

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

我以前用过类似的方式,就像你描述的那样,效果很好。