C# 递归查找文件夹下所有文件和子文件夹的所有文件

时间:2021-03-13 03:30:48
    1. 方法实现
    2. public class DirectoryAllFiles
    3. {
    4. static List<FileInformation> FileList = new List<FileInformation>();
    5. public static List<FileInformation> GetAllFiles(DirectoryInfo dir)
    6. {
    7. FileInfo[] allFile = dir.GetFiles();
    8. foreach (FileInfo fi in allFile)
    9. {
    10. FileList.Add(new FileInformation{ FileName=fi.Name,FilePath=fi.FullName });
    11. }
    12. DirectoryInfo[] allDir= dir.GetDirectories();
    13. foreach (DirectoryInfo d in allDir)
    14. {
    15. GetAllFiles(d);
    16. }
    17. return FileList;
    18. }
    19. }
    20. public class FileInformation
    21. {
    22. public string FileName { get; set; }
    23. public string FilePath { get; set; }
    24. }
    25. 方法调用:
    26. List<FileInformation> list = DirectoryAllFiles.GetAllFiles(

new System.IO.DirectoryInfo(@"E:\Test"));  if (list.Where(t => t.FileName.ToLower().Contains("json")).Any()) Console.WriteLine("有信息");  foreach (var item in list)

    {
      Console.WriteLine(

string.Format("文件名:{0}---文件目录{1}",item.FileName,item.FilePath));

    }