我有一個基本上像Windows資源管理器一樣工作的C#程序的想法。目的是顯示所有文件和文件夾,並顯示每個文件和文件夾的具體信息。我正在計劃的功能之一是檢測資源管理器無法訪問的文件夾大小。計算和緩存文件夾大小
我對算法的想法是累積特定文件夾中所有文件的大小。但是,我擔心性能問題。例如,要顯示C的所有文件夾的大小:我必須考慮整個驅動器上的所有文件。這可能需要一段時間,因此每次用戶切換到不同的文件夾或返回時都無法完成計算。
所以我想緩存一些大小。但是,當文件更改,添加或刪除時,緩存數據將變得過時。但是我不想在程序沒有運行的時候監視所有的文件變化。
有什麼方法可以找出緩存是否是最新的,例如:通過檢索某種不需要再次計算所有大小的校驗和?是否有另一種內存和CPU高效的方法來查明自上次計算以來文件大小是否發生了變化?或者還有另一種可能性?
你見過TreeSize了嗎? http://download.cnet.com/TreeSize-Free/3000-2248_4-11653027.html – David
@大衛不,直到現在我還沒有看到它。我知道有幾個程序可以做到,但我想自己寫一些這樣的工具。 :) – RolandK