private static void Read(string path)
  {
  DirectoryInfo dir = new DirectoryInfo(path);
  DirectoryInfo[] dirs = dir.GetDirectories();
  for (int i = 0; i < dirs.Length; i++)
  {
  DirectoryInfo d = dirs[i];
  DirectoryInfo fi = new DirectoryInfo(Path.Combine(path, d.Name));
  FileInfo[] fis = fi.GetFiles();
  for (int j = 0; j < fis.Length; j++)
  {
  FileInfo f = fis[j];
  Console.Write(d.Name);
  Console.Write(" ");
  Console.WriteLine(f.Name);
  }
  }
  Console.Read();
  }

解决方案 »

  1.   

    你要的
    传送门:http://www.cnblogs.com/skl99/archive/2010/01/21/1653124.html
      

  2.   

    一个典型的递归                public static void getFilesFromD(string path)
    {
    DirectoryInfo dirInfo = new DirectoryInfo(path);
    Console.WriteLine(dirInfo.Name);

    foreach(DirectoryInfo dir in dirInfo.GetDirectories())
    {
    getFilesFromD(dir.FullName);
    }

    foreach(FileInfo file in dirInfo.GetFiles())
    {
    Console.WriteLine(file.Name);
    }
    }
      

  3.   


    GetFiles(path,pattern,SearchOption.AllDirectories);
    GetDirectories(path,pattern,SearchOption.AllDirectories);
      

  4.   

    http://topic.csdn.net/u/20091030/21/b7fcd7a0-d106-4657-b5da-b2fe200a44f4.html
      

  5.   

    运用递归http://download.csdn.net/source/394370
      

  6.   

    http://blog.csdn.net/XJY123/archive/2008/09/06/2892399.aspx
    http://blog.163.com/wefall/blog/static/599432312009815104330702/