日期:2014-05-17  浏览次数:20637 次

求比较好的统计文件夹大小的方法
我之前统计文件夹大小用的都是递归的方法,速度还可以。

但现在遇到的问题是,有些文件夹太大目录太多太深,统计的时候会出现stackoverflow的错误,并且这种异常无法catch,直接会导致应用程序异常中止。

请问有没有比较好的统计文件夹大小的C#的算法,可以避免这种问题呢,或者有没有办法让出现stackoverflow异常时程序不异常中止?

------解决方案--------------------
http://social.microsoft.com/Forums/ja-JP/f2ea4631-3516-405d-a40f-44ae9509fcfb/-?forum=visualcshartzhchs
------解决方案--------------------
你能debug一下是什么具体的原因导致stackoverflow的吗? 能优化吗? 我猜也许是文件夹太多,你递归的太多了,然后导致栈溢出;还有一种可能是你的递归程序有问题,如果是这样,建议你贴出代码。
------解决方案--------------------
StockOverFlow这个除非是无限递归,否则一般不会出现。系统定义的空间足以应付。

检查下你递归的参数是不是太多或太大导致的。
------解决方案--------------------
引用:
StockOverFlow这个除非是无限递归,否则一般不会出现。系统定义的空间足以应付。

检查下你递归的参数是不是太多或太大导致的。

就是,在搞出堆栈溢出之前,文件系统根本就不让创建那么深的目录结构了。