为了获取目录,C#提供了Directory.GetDirectories方法。
Directory.GetDirectories返回与指定目录中的指定搜索模式匹配的子目录(包括它们的路径)的名称,并有选择地搜索子目录。
为了获取文件,C#提供了Directory.GetFiles方法。
Directory.GetFiles返回与指定搜索模式匹配的所有文件的名称(包括它们的路径),并可以选择搜索子目录
为了获取文件长度,C#提供了一个属性Length
static void Main(string[] args) { string rootPath = @"C:\Users\Koushik\Desktop\TestFolder"; var files = Directory.GetFiles(rootPath, "*.*", SearchOption.AllDirectories); foreach (string file in files) { long size = new FileInfo(file).Length / 1024; string humanKBSize = string.Format("{0} KB", size); string humanMBSize = string.Format("{0} MB", size / 1024); string humanGBSize = string.Format("{0} GB", size / 1024 / 1024); Console.WriteLine($"KB:{humanKBSize} MB:{humanMBSize} GB:{humanGBSize}"); } Console.ReadLine(); }
输出结果
file C:\Users\Koushik\Desktop\TestFolder\Topdirectory.txt 22 KB 0 MB 0 GB file C:\Users\Koushik\Desktop\TestFolder\TestFolderMain\TestFolderMain.txt 0 KB 2 MB 0 GB file C:\Users\Koushik\Desktop\TestFolder\TestFolderMain1\TestFolderMain1.txt 0 KB 0 MB 1 GB file C:\Users\Koushik\Desktop\TestFolder\TestFolderMain2\TestFolderMain1.txt 0 KB 0 MB 1 GB file C:\Users\Koushik\Desktop\TestFolder\TestFolderMain2\TestFolderMain2.txt 0 KB 0 MB 1 GB file C:\Users\Koushik\Desktop\TestFolder\TestFolderMain2\TestFolderMainSubDirectory\TestFolderSubDirectory.txt 0 KB 0 MB 1 GB