我程序的一部分必须跟踪一组文件,包括它们在内存中的路径和哈希码。
问题是,用户可能希望在任何时间点使用外部程序编辑文件。
如果发生这种情况,我希望我的程序得到通知,因此除了许多其他可能的操作外,它还会在其内存中更新该文件的相应哈希码。
理想情况下,我希望通知新线程或专用后台线程,并执行必要的操作而不是主GUI线程。我正在使用ConcurrentDictionary和类似的线程安全数据结构。
我正在使用C#5,Windows 7。
答案 0 :(得分:3)
您正在寻找FileSystemWatcher
收听文件系统更改通知并在何时引发事件 目录或目录中的文件发生更改。
答案 1 :(得分:2)
您检查了FileSystemWatcher课程吗?
也许这个类可以帮助您在文件发生变化时通知。
答案 2 :(得分:2)
FileSystemWatcher组件可以为您做到这一点:
http://msdn.microsoft.com/en-us/library/342da5th(v=vs.71).aspx
我之前以类似你描述的方式尝试过它,效果很好。