gpt4 book ai didi

c# - 如何在 C# 中获取目录大小(目录中的文件)?

转载 作者:可可西里 更新时间:2023-11-01 03:11:41 26 4
gpt4 key购买 nike

我希望能够使用 C# 获取其中一个本地目录的大小。我试图避免以下(伪类代码),尽管在最坏的情况下我将不得不解决这个问题:

    int GetSize(Directory)
{
int Size = 0;

foreach ( File in Directory )
{
FileInfo fInfo of File;
Size += fInfo.Size;
}

foreach ( SubDirectory in Directory )
{
Size += GetSize(SubDirectory);
}
return Size;
}

基本上,是否有可用的 Walk() 以便我可以遍历目录树?这将节省遍历每个子目录的递归。

最佳答案

在 .net 4.0 中获取文件夹大小的一种非常简洁的方法如下。它仍然受到必须递归遍历所有文件的限制,但它不会加载潜在的巨大文件名数组,而且它只有两行代码。确保使用命名空间 System.IOSystem.Linq

private static long GetDirectorySize(string folderPath)
{
DirectoryInfo di = new DirectoryInfo(folderPath);
return di.EnumerateFiles("*.*", SearchOption.AllDirectories).Sum(fi => fi.Length);
}

关于c# - 如何在 C# 中获取目录大小(目录中的文件)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1118568/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com