代码改变世界

获取文件夹大小

2010-12-02 12:50  ※森林小居※  阅读(351)  评论(0)    收藏  举报

public static long GetDirectoryLength(string dirPath) {

  //判断给定的路径是否存在,如果不存在则退出

   if (!Directory.Exists(dirPath)) return 0; long len = 0;

   //定义一个DirectoryInfo对象

  DirectoryInfo di = new DirectoryInfo(dirPath);

  //通过GetFiles方法,获取di目录中的所有文件的大小   

  foreach (FileInfo fi in di.GetFiles()) {

    len += fi.Length;

  }

   //获取di中所有的文件夹,并存到一个新的对象数组中,以进行递归

  DirectoryInfo[] dis = di.GetDirectories();

  if (dis.Length > 0) {

     for (int i = 0; i < dis.Length; i++) {

      len += GetDirectoryLength(dis[i].FullName);

    }

   }

  return len;

 }