方法一:
不用遍历整个目录?
---------------------------------------------------------------
项目->引用 浏览 COM组件 Microsoft Scripting Runtime
添加引用:
下代码:
Scripting.FileSystemObject fso=new Scripting.FileSystemObjectClass();
MessageBox.Show (fso.GetFolder("D://ReadPix" ).Size.ToString() ) ;
内容来自:http://faq.csdn.net/read/153914.html
方法二:
使用C#自带的IO函数,递归
public
static
long
DirSize(DirectoryInfo d)
{
long Size = 0 ;
// 所有文件大小.
FileInfo[] fis = d.GetFiles();
foreach (FileInfo fi in fis)
{
Size += fi.Length;
}
// 遍历出当前目录的所有文件夹.
DirectoryInfo[] dis = d.GetDirectories();
foreach (DirectoryInfo di in dis)
{
Size += DirSize(di); // 这就用到递归了,调用父方法,注意,这里并不是直接返回值,而是调用父返回来的
}
return (Size);
}
内容来自:http://www.cnblogs.com/goku/archive/2005/09/03/229516.html
{
long Size = 0 ;
// 所有文件大小.
FileInfo[] fis = d.GetFiles();
foreach (FileInfo fi in fis)
{
Size += fi.Length;
}
// 遍历出当前目录的所有文件夹.
DirectoryInfo[] dis = d.GetDirectories();
foreach (DirectoryInfo di in dis)
{
Size += DirSize(di); // 这就用到递归了,调用父方法,注意,这里并不是直接返回值,而是调用父返回来的
}
return (Size);
}
内容来自:http://www.cnblogs.com/goku/archive/2005/09/03/229516.html