您的位置:首页 > 编程语言 > C#

C#获取文件和文件夹大小

2016-01-06 10:38 531 查看
代码如下:

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

/// <summary>
/// 获取文件大小
/// </summary>
/// <param name="filePath"></param>
/// <returns></returns>
static long GetFileSize(string filePath)
{
long temp = 0;
//判断当前路径是否指向某个文件
if (!File.Exists(filePath))
{
string[] strs = Directory.GetFileSystemEntries(filePath);
foreach (string item in strs)
{
temp += GetFileSize(item);
}
}
else
{
FileInfo fileInfo = new FileInfo(filePath);
return fileInfo.Length;
}
return temp;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: