static void Main(string[] args){
//创建秒表,记录查询的总时间Stopwatch timer = new Stopwatch();timer.Start();
//传入本地磁盘路径,遍历当前路径下的所有文件LoadDirectory(@"G:\传智播客.Net培训—就业班精品");timer.Stop();Console.WriteLine("运行时间:" + timer.Elapsed.Seconds);Console.WriteLine("文件个数:" + count);Console.ReadKey();}//记录总文件数static int count = 0;/// <summary>/// 遍历指定路径中的文件/// </summary>/// <param name="path"></param>static void LoadDirectory(string path) {//获取指定路径下的文件夹DirectoryInfo[] dirs = dirInfo.GetDirectories();foreach (DirectoryInfo item in dirs){count++;Console.WriteLine(item.Name);//递归调用 LoadDirectory(item.FullName);}//获取指定路径下的文件FileInfo[] files = dirInfo.GetFiles();if (files.Length > 0){foreach (FileInfo item in files){count++;Console.WriteLine("-" + item.Name);}}}
整体思路:
1、传入本地磁盘的路径。
2、获取一级目录下的文件,并打印出来。
3、获取一级目录下的文件夹,然后递归调用,继续获取下一级目录中的文件。
4、是文件则打印出来,是文件夹则继续递归调用。