C#:如何检查打开的文件是否已更新

例如,您知道该function,如果您在另一个编辑器中也有相同的文件,则打开C:\test.txt ,并在那里编辑它,当您返回时,应用程序将提示文件已更改,无论您是否要更新它。 如何检查文件是否已更新?

UPDATE

问一个姐妹问题“ 使用FileSystemWatcher来监视文件的变化 ”

您可以使用FileSystemWatcher从文件系统获取通知。

使用FileSystemWatcher (首选)或定期比较上次修改日期。

您可以使用FileSystemWatcher ,也可以在适当的时候轮询更改。

请注意,如果在负载很重的情况下, FileSystemWatcher可能会错过更改并且是IDisposable 。 未能妥善处理它会导致稳定性问题(我个人已经发生过)。 如果您选择轮询,请注意FileInfo缓存一些元数据,因此如果您重复使用FileInfo对象,则需要调用FileInfo.Refresh方法。 或者,使用File API。

对于少数文件,轮询更容易,更安全,因为它避免了FileSystemWatcher的OS回调问题,并且从不错过任何事件。 对于大量文件, FileSystemWatcher是实现合理性能的必要条件。