谁能写一个函数来计算文件夹大小,譬如建了一个DirectoryInfo对象dinfo,我只要调用一下函数就能算出改文件夹对象大小,假如文件夹里包括文件夹们和文件们,文件夹们里可能还包括文件夹和文件
受你启发
我也写了一个
public long foldersize(DirectoryInfo dinfo)
{
long size = 0;
if (dinfo.Exists)
{
foreach (FileSystemInfo fsi in dinfo.GetFileSystemInfos())
{
if (fsi is FileInfo)
{
size += ((FileInfo)fsi).Length;
}
else
{ size += foldersize(((DirectoryInfo)fsi)); }
}
}
return size;
}
如何计算文件夹大小
答案:2 悬赏:50 手机版
解决时间 2021-02-16 05:19
- 提问者网友:十年饮冰
- 2021-02-16 00:44
最佳答案
- 五星知识达人网友:忘川信使
- 2021-02-16 01:51
自己写了一个,希望能帮助你
返回值为长整型,参数为文件夹路径。
public static long getSize(string path)
{
if (!System.IO.Directory.Exists(path))
{
return 0;
}
else
{
long size = 0;
System.IO.DirectoryInfo DI = new System.IO.DirectoryInfo(path);
foreach (System.IO.FileInfo fi in DI.GetFiles())
{
size += fi.Length;
}
foreach (System.IO.DirectoryInfo di in DI.GetDirectories())
{
size += getSize(di.FullName);
}
return size;
}
}
返回值为长整型,参数为文件夹路径。
public static long getSize(string path)
{
if (!System.IO.Directory.Exists(path))
{
return 0;
}
else
{
long size = 0;
System.IO.DirectoryInfo DI = new System.IO.DirectoryInfo(path);
foreach (System.IO.FileInfo fi in DI.GetFiles())
{
size += fi.Length;
}
foreach (System.IO.DirectoryInfo di in DI.GetDirectories())
{
size += getSize(di.FullName);
}
return size;
}
}
全部回答
- 1楼网友:渡鹤影
- 2021-02-16 03:27
”一样
小文件越多。之前完全说反了,321毫升牛奶要装几瓶,也就越浪费空间
------------------------------------------------------
不同文件系统的簇大小是不同的
你把文件夹从ntfs移动到fat看看就知道了
------------------------------------------------------
郁闷文件夹占用空间和实际大小不一样是很正常的
因为文件的存储是按簇计算的
当某个簇剩余空间不足以存储下一个文件的时候
就会自动使用下一个簇来存储
那这部分剩余的簇空间就浪费掉了
但却会计算在已使用空间里
道理和“一个瓶子装100毫升牛奶
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯