[英]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.