我有一個文件夾包含子文件夾和文件的層次結構。C#:定期檢查文件夾中的更改嗎?
我需要定期檢查是否有任何文件/文件夾已被修改/刪除/添加。
我想從頭開始開發了一種算法,的:
- 保存在一個嵌入式數據庫(如SQLite的)或文件的樹狀整體的表示。
- 將每個文件的校驗和保存到同一個數據庫中。
- 在下次調用時,將此數據庫與實際的文件系統進行比較。
- 用發現已更改的內容更新數據庫的信息。從第3步
- 重複
,而我的程序不運行,可以關閉/隨時打開的變化可能會發生。
例如,用戶可能會在星期一關閉該程序,星期二編輯文件,並在星期三重新打開該程序。我需要檢查在此期間發生了什麼變化,所以我不能使用FileSystemWatcher。
在我重新發明輪子之前,是否已經有一些庫這樣做?
注:
- 我沒有訪問任何VCS二進制像
git
或svn
。 - 語言是C#,但我準備好移植任何小型Java庫。
- 這是for an open source software,所以它需要是一個開源庫。
- 這是一個嵌入到桌面小部件,所以越輕越好。
如果您不熟悉FileSystemWatcher類,請查看http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx。 – Inisheer
@JTA:對不起,我應該清楚一點:我不能依賴我的程序一直在運行。當我的程序關閉時,這些文件可能會改變。所以看來我無法使用FileSystemWatcher。 –