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

原文地址 https://blog.csdn.net/c13_tianming/article/details/48153859

  • 代码
 public class DirectoryAllFiles
    {
        static List FileList = new List();
        public static List 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; }
    }
  • 调用
List 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));
}

你可能感兴趣的:(c#递归遍历指定文件夹内的所有文件(包含子文件夹))