遍历指定路径下面的所有文件夹,返回相对路径和名称的集合如指定目录 C:\Windows则返回 
{
name = "addins",
paht = ""
},
{
name = "AppCompat",
path = ""
} ,
{
name = "Programs",
path = "AppCompat"
}
....
求个代码思路

解决方案 »

  1.   


            public static ReadFileInfo[] GetDirectorieInfo(string path, string rootPaht = null)
            {
                try
                {                if (rootPaht == null) { rootPaht = path; listReadFileInfo.Clear(); }
                    foreach (string filePaht in Directory.GetDirectories(path))
                    {
                        var fileInfo = new FileInfo(filePaht);
                        listReadFileInfo.Add(new ReadFileInfo { FileName = fileInfo.Name, FilePath = FileLocalPaht(filePaht, rootPaht), Category = "Paths" });
                    }                foreach (string directory in Directory.GetDirectories(path))
                    {
                        GetDirectorieInfo(directory, rootPaht);
                    }
                    return listReadFileInfo.ToArray();
                }
                catch (Exception ex)
                {                throw ex;
                }
            }
      

  2.   

    不需要递归 Directory.GetDirectories(path, SearchOptions.AllDirectories)
      

  3.   

    string []dirs = Directory.GetDirectories(path, SearchOptions.AllDirectories);
    然后用newtonsoft序列化生成json格式,https://blog.csdn.net/chinacsharper/article/details/9246627
      

  4.   

    不用循环遍历,直接获取用GetDirectories(path, SearchOptions.AllDirectories)方法获取指定目录下的所有文件夹路径,然后再去解析路径中的文件夹名称,依次add到你的list里
      

  5.   


    是的,.net有现成的东西,何必自己再去递归。