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