首页 > 编程 > C# > 正文

C#实现获取文件夹大小的方法

2020-01-24 01:50:35
字体:
来源:转载
供稿:网友

本文实例讲述了C#实现获取文件夹大小的方法。分享给大家供大家参考。具体如下:

当然了,首先都需要引入System.IO这个命名空间

第一个方法:

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;}

第二个

//也是利用递归的思想,只不过是通过File类的Exits方法来判断//所给路径中所对应的是否为文件public static long FileSize(string filePath){   long temp = 0;   //判断当前路径所指向的是否为文件   if (File.Exists(filePath) == false)   {     string[] str1 = Directory.GetFileSystemEntries(filePath);     foreach (string s1 in str1)     {        temp += FileSize(s1);     }   }   else   {    //定义一个FileInfo对象,使之与filePath所指向的文件向关联,    //以获取其大小    FileInfo fileInfo = new FileInfo(filePath);    return fileInfo.Length;   }   return temp;}

其实删除文件夹的思想与这个是一样的,设置要简单很多,只要简单的判断一下当前的是文件还是文件夹,如果是文件则删除.是文件夹则递归

希望本文所述对大家的C#程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表