您知道该功能,例如,如果您在另一个编辑器中也有相同的文件,则打开C:\test.txt
,并在那里编辑它,当您返回时,应用程序将提示文件已更改,无论您是否想要更新它。如何检查文件是否已更新?
更新
问一个姐妹问题“Using FileSystemWatcher to watch for changes to files”
答案 0 :(得分:9)
您可以使用FileSystemWatcher从文件系统获取通知。
答案 1 :(得分:4)
使用FileSystemWatcher(首选)或定期比较上次修改日期。
答案 2 :(得分:4)
您可以使用FileSystemWatcher,也可以在适当的时候轮询更改。
请注意,FileSystemWatcher
如果负载较重且IDisposable
可能会错过更改。未能妥善处理可导致稳定性问题(我个人已经发生过这种情况)。如果您选择轮询,请注意FileInfo
缓存一些元数据,因此如果您重复使用FileInfo.Refresh
个对象,则需要调用FileInfo
方法。或者,使用File
API。
对于少数文件,轮询更容易,更安全,因为它避免了FileSystemWatcher的OS回调问题,并且从不错过任何事件。对于大量文件,FileSystemWatcher
是实现合理性能的必要条件。