c#遍历文件夹获得所有文件

c#遍历文件夹获得所有文件

在c#中,想要获得一个文件夹下的所有子目录以及文件十分简单。

首先,获取目录的情况下,DirectoryInfo.GetDirectories():获取目录(不包含子目录)的子目录,返回类型为DirectoryInfo[],支持通配符查找;

其次,获取文件的情况下, DirectoryInfo.GetFiles():获取目录中(不包含子目录)的文件,返回类型为FileInfo[],支持通配符查找;

最后,DirectoryInfo. GetFileSystemInfos():获取指定目录下(不包含子目录)的文件和子目录,返回类型为FileSystemInfo[],支持通配符查找;
如何获取指定文件的基本信息;
    FileInfo.Exists:获取指定文件是否存在;
    FileInfo.Name,FileInfo.Extensioin:获取文件的名称和扩展名;
    FileInfo.FullName:获取文件的全限定名称(完整路径);
    FileInfo.Directory:获取文件所在目录,返回类型为DirectoryInfo;
    FileInfo.DirectoryName:获取文件所在目录的路径(完整路径);
    FileInfo.Length:获取文件的大小(字节数);
    FileInfo.IsReadOnly:获取文件是否只读;
    FileInfo.Attributes:获取或设置指定文件的属性,返回类型为FileAttributes枚举,可以是多个值的组合
    FileInfo.CreationTime、FileInfo.LastAccessTime、FileInfo.LastWriteTime:分别用于获取文件的创建时间、访问时间、修改时间;

想要获取某一文件夹下的所有文件,通用的方法就是遍历

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

public static void GetAllDir(string dir1)

     {

         List<string> list = new List<string>();

         DirectoryInfo dir = new DirectoryInfo(dir);

         DirectoryInfo[] dirinfo = dir.GetDirectories();

         

         for (int i = 0; i < dirinfo.Length; i++)

         {

             list.Add(dirinfo[i].FullName);

             GetAllDir(dirinfo[i].FullName);

         }

          

         for (int i = 0; i < list.Count; i++)

         {

                 Console.WriteLine(list[i]);

         }

     }

猜你喜欢

转载自blog.csdn.net/weixin_41556165/article/details/82429632