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

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

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