【代码块】-CS-文件夹大小

发布时间 2023-08-08 22:57:08作者: 叫夏洛啊

整理代码块

代码块整理后存储,供后期使用

/// <summary>
/// 获取文件夹大小
/// </summary>
/// <param name="dirPath"></param>
/// <returns></returns>
static long GetDirectorySize(string dirPath)
{
    if (!System.IO.Directory.Exists(dirPath))
        return 0;

    long len = 0;
    DirectoryInfo di = new DirectoryInfo(dirPath);

    // 获取 di 目录中所有文件的大小
    foreach (FileInfo item in di.GetFiles())
    {
        len += item.Length;
    }

    // 获取 di 目录中所有的文件夹,并保存到一个数组中,以进行递归
    DirectoryInfo[] dis = di.GetDirectories();
    if (dis.Length > 0)
    {
        for (int i = 0; i < dis.Length; i++)
        {
            len += GetDirectorySize(dis[i].FullName); // 递归 dis.Length 个文件夹,得到每个 dis[i] 下面所有文件的大小
        }
    }

    return len;
}