Rod*_*Rod 35 c# directory subdirectory
迭代文件夹和子文件夹以获取从指定位置开始的每个文件夹中的文件大小,文件总数和文件夹总大小的最佳方法是什么?
Chr*_*way 48
如果您使用的是.NET 4,则可能希望使用System.IO.DirectoryInfo.EnumerateDirectories和System.IO.DirectoryInfo.EnumerateFiles方法.如果您使用Directory.GetFiles其他帖子推荐的方法,则在检索到所有条目之前,方法调用将不会返回.如果使用递归,这可能需要很长时间.
从文档:
的
EnumerateFiles和GetFiles的方法的区别如下:
- 使用时
EnumerateFiles,可以FileInfo在返回整个集合之前开始枚举对象集合.- 使用时
GetFiles,必须等待FileInfo返回整个对象数组,然后才能访问该数组.因此,当您使用许多文件和目录时,
EnumerateFiles可以更高效.
无论子文件夹和文件有多少,都要遍历所有目录子文件夹和文件.
string [] filenames;
fname = Directory.GetFiles(jak, "*.*", SearchOption.AllDirectories).Select(x => Path.GetFileName(x)).ToArray();
Run Code Online (Sandbox Code Playgroud)
然后从数组你可以通过循环或你想要的东西得到你想要的.