簡體   English   中英

C#:如何檢查打開的文件是否已更新

[英]C#: How to check if a open file has been updated

您知道該功能,例如,如果您在另一個編輯器中也有相同的文件,則打開C:\\test.txt ,並在那里進行編輯,當您返回時,應用程序將提示文件已更改,是否您要更新它。 如何檢查文件是否已更新?

UPDATE

問一個姐妹問題“ 使用FileSystemWatcher來監視文件的變化

您可以使用FileSystemWatcher從文件系統獲取通知。

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

您可以使用FileSystemWatcher ,也可以在適當的時候輪詢更改。

請注意,如果在負載很重的情況下, FileSystemWatcher可能會錯過更改並且是IDisposable 未能妥善處理可導致穩定性問題(我個人已經發生過這種情況)。 如果您選擇輪詢,請注意FileInfo緩存一些元數據,因此如果您重復使用FileInfo對象,則需要調用FileInfo.Refresh方法。 或者,使用File API。

對於少數文件,輪詢更容易,更安全,因為它避免了FileSystemWatcher的操作系統回調問題,並且從不錯過任何事件。 對於大量文件, FileSystemWatcher是實現合理性能的必要條件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM