我有一个基本上像Windows资源管理器一样工作的C#程序的想法。目的是显示所有文件和文件夹,并显示每个文件和文件夹的具体信息。我正在计划的功能之一是检测资源管理器无法访问的文件夹大小。计算和缓存文件夹大小
我对算法的想法是累积特定文件夹中所有文件的大小。但是,我担心性能问题。例如,要显示C的所有文件夹的大小:我必须考虑整个驱动器上的所有文件。这可能需要一段时间,因此每次用户切换到不同的文件夹或返回时都无法完成计算。
所以我想缓存一些大小。但是,当文件更改,添加或删除时,缓存数据将变得过时。但是我不想在程序没有运行的时候监视所有的文件变化。
有什么方法可以找出缓存是否是最新的,例如:通过检索某种不需要再次计算所有大小的校验和?是否有另一种内存和CPU高效的方法来查明自上次计算以来文件大小是否发生了变化?或者还有另一种可能性?
你见过TreeSize了吗? http://download.cnet.com/TreeSize-Free/3000-2248_4-11653027.html – David
@大卫不,直到现在我还没有看到它。我知道有几个程序可以做到,但我想自己写一些这样的工具。 :) – RolandK