1、获得当前运行程序的路径


 string rootPath = Directory.GetCurrentDirectory();

  2、获得该文件夹下的文件,返回类型为FileInfo


    string path=@"X:\XXX\XX";
    DirectoryInfo root = new DirectoryInfo(path);
    FileInfo[] files=root.GetFiles();

      3、获得该文件夹下的子目录,返回类型为DirectoryInfo


      string path=@"X:\XXX\XX";
      DirectoryInfo root = new DirectoryInfo(path);
      DirctoryInfo[] dics=root.GetDirectories();

        4、获得文件夹名


        string path=@"X:\XXX\XX";
        DirectoryInfo root = new DirectoryInfo(path);
        string dicName=root.Name;

          5、获得文件夹完整的路径名


           string path=@"X:\XXX\XX";
          DirectoryInfo root = new DirectoryInfo(path);
          string dicName=root.FullName;

            6、获取文件的Name和FullName


             string path=@"X:\XXX\XX";
            DirectoryInfo root = new DirectoryInfo(path);
            foreach (FileInfo f in root.GetFiles())
            {
            string name=f.Name;
            string fullName=f.FullName;
            }


            #只获取目录下一级的文件夹与文件


              String path = @"X:\xxx\xxx";

              //第一种方法
              string[] files = Directory.GetFiles(path, "*.txt");

              foreach (string file in files)
              {
              Console.WriteLine(file);
              }

              //第二种方法
              DirectoryInfo folder = new DirectoryInfo(path);

              foreach (FileInfo file in folder.GetFiles("*.txt"))
              {
              Console.WriteLine(file.FullName);
              }


              # 递归地输出当前运行程序所在的磁盘下的所有文件名和子目录名


              1         static void Main(string[] args)
              2         {
              3             //获取当前程序所在的文件路径
              4             String rootPath = Directory.GetCurrentDirectory();
              5             string parentPath = Directory.GetParent(rootPath).FullName;//上级目录
              6             string topPath = Directory.GetParent(parentPath).FullName;//上上级目录
              7             StreamWriter sw = null;
              8             try
              9             {
              10                 //创建输出流,将得到文件名子目录名保存到txt中
              11                 sw = new StreamWriter(new FileStream("fileList.txt", FileMode.Append));
              12                 sw.WriteLine("根目录:" + topPath);
              13                 getDirectory(sw, topPath, 2);
              14             }
              15             catch (IOException e)
              16             {
              17                 Console.WriteLine(e.Message);
              18             }
              19             finally
              20             {
              21                 if (sw != null)
              22                 {
              23                     sw.Close();
              24                     Console.WriteLine("完成");
              25                 }
              26             }
              27
              28         }
              29
              30         /// <summary>
              31         /// 获得指定路径下所有文件名32         /// </summary>
              33         /// <param name="sw">文件写入流</param>
              34         /// <param name="path">文件写入流</param>
              35         /// <param name="indent">输出时的缩进量</param>
              36         public static void getFileName(StreamWriter sw, string path, int indent)
              37         {
              38             DirectoryInfo root = new DirectoryInfo(path);
              39             foreach (FileInfo f in root.GetFiles())
              40             {
              41                 for (int i = 0; i < indent; i++)
              42                 {
              43                     sw.Write("  ");
              44                 }
              45                 sw.WriteLine(f.Name);
              46             }
              47         }
              48
              49         /// <summary>
              50         /// 获得指定路径下所有子目录名51         /// </summary>
              52         /// <param name="sw">文件写入流</param>
              53         /// <param name="path">文件夹路径</param>
              54         /// <param name="indent">输出时的缩进量</param>
              55         public static void getDirectory(StreamWriter sw, string path, int indent)
              56         {
              57             getFileName(sw, path, indent);
              58             DirectoryInfo root = new DirectoryInfo(path);
              59             foreach (DirectoryInfo d in root.GetDirectories())
              60             {
              61                 for (int i = 0; i < indent; i++)
              62                 {
              63                     sw.Write("  ");
              64                 }
              65                 sw.WriteLine("文件夹:" + d.Name);
              66                 getDirectory(sw, d.FullName, indent + 2);
              67                 sw.WriteLine();
              68             }
              69         }


              C#获取文件夹下的所有文件_i++