c#递归遍历指定文件夹内的所有文件(包含子文件夹)

时间:2022-09-03 19:37:05

c#代码:

 public class DirectoryAllFiles
{
static List<FileInformation> FileList = new List<FileInformation>();
public static List<FileInformation> GetAllFiles(DirectoryInfo dir)
{
FileInfo[] allFile = dir.GetFiles();
foreach (FileInfo fi in allFile)
{
FileList.Add(new FileInformation{ FileName=fi.Name,FilePath=fi.FullName });
}
DirectoryInfo[] allDir= dir.GetDirectories();
foreach (DirectoryInfo d in allDir)
{
GetAllFiles(d);
}
return FileList;
}
}

public class FileInformation
{
public string FileName { get; set; }
public string FilePath { get; set; }
}

c#调用:

List<FileInformation> list = DirectoryAllFiles.GetAllFiles(new System.IO.DirectoryInfo(@"E:\电子资料"));
if (list.Where(t => t.FileName.ToLower().Contains("android")).Any()) Console.WriteLine("true");
foreach (var item in list)
{
Console.WriteLine(string.Format("文件名:{0}---文件目录{1}",item.FileName,item.FilePath));
}