/// <summary>
/// 获取指定目录大小
/// </summary>
/// <param name="path">目录物理路径</param>
/// <param name="unitType">返回单位:Byte/KB/MB/GB</param>
/// <returns></returns>
public static decimal getDirectorySize(string path, string unitType = "Byte")
{
DirectoryInfo dirInfo = new DirectoryInfo(path);
decimal sumSize = 0;
foreach (FileSystemInfo fsInfo in dirInfo.GetFileSystemInfos())
{
if (fsInfo.Attributes.ToString().ToLower().Contains("directory"))
{
if (!fsInfo.Attributes.ToString().ToLower().Contains("system"))
{
sumSize += getDirectorySize(fsInfo.FullName);
}
}
else
{
FileInfo fiInfo = new FileInfo(fsInfo.FullName);
sumSize += fiInfo.Length;
}
}
if (unitType == "KB")
{
sumSize = sumSize / 1024;
}
else if (unitType == "MB")
{
sumSize = sumSize / 1024 / 1024;
}
else if (unitType == "GB")
{
sumSize = sumSize / 1024 / 1024 / 1024;
}
return sumSize;
}
Asp.net 获取指定目录大小 C#
最新推荐文章于 2022-01-26 16:39:31 发布