C#递归遍历指定目录下文件和文件夹

 1 #region 使用递归查询某路径中的文件结构
 2 
 3         
 4         public static void CheckFilePath()
 5         {
 6             ReadFilePath(@"E:Test",0);
 7         }
 8 
 9         public static void ReadFilePath(string path,int level)
10         {
11             level++;
12             Console.WriteLine(SpaceM(level)+Path.GetFileName(path));
13             string[] dirs = Directory.GetFileSystemEntries(path);//获取文件目录和文件名
14             for (int i = 0; i < dirs.Length; i++)
15             {
16                 if (Directory.Exists(dirs[i]))//如果是文件夹,则进行递归调用
17                 {
18                     ReadFilePath(dirs[i],level);
19                 }
20                 else
21                 {
22                     Console.WriteLine(SpaceM(level) + Path.GetFileName(dirs[i]));//文件则打印
23                 }
24             }
25         }
26 
27         //添加级别字符串
28         private static string SpaceM(int level)
29         {
30             StringBuilder sb = new StringBuilder();
31             for (int i = 0; i < level; i++)
32             {
33                 sb.Append("|--");
34             }
35             return sb.ToString();
36         }
37 
38         #endregion
递归遍历某路径中文件及文件夹,并缩进
原文地址:https://www.cnblogs.com/liyajie/p/3673940.html