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

时间:2022-09-13 00:23:12

在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:分别用于获取文件的创建时间、访问时间、修改时间;

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

   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]);
} }