C#递归遍历指定目录下的所有文件(包括子目录下的文件)
1 /// <summary> 2 /// 递归遍历dir目录下的所有文件 3 /// </summary> 4 /// <param name="dir">要查找的目录</param> 5 /// <param name="files">集合对象,用于保存文件信息</param> 6 /// <returns></returns> 7 public void GetAllFiles(DirectoryInfo dir, List<FileInfo> files) 8 { 9 try 10 { 11 if (dir.Exists) 12 {//判断参数目录是否存在 13 DirectoryInfo[] subdir = dir.GetDirectories(); 14 for (int i = 0; i < subdir.Length; i++) 15 { 16 GetAllFiles(subdir[i], files); 17 } 18 FileInfo[] curfiles = dir.GetFiles(); 19 for (int j = 0; j < curfiles.Length; j++) 20 { 21 files.Add(curfiles[j]); 22 } 23 } 24 } 25 catch (Exception e) 26 { 27 } 28 }