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 ///

31 /// 获得指定路径下所有文件名

32 ///

33 /// 文件写入流

34 /// 文件写入流

35 /// 输出时的缩进量

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 ///

50 /// 获得指定路径下所有子目录名

51 ///

52 /// 文件写入流

53 /// 文件夹路径

54 /// 输出时的缩进量

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 }

查看原文