1 public partial class FileGet 2 { 3 /// <summary> 4 /// 私有變量 5 /// </summary> 6 private static List<FileInfo> lst = new List<FileInfo>(); 7 /// <summary> 8 /// 獲得目錄下所有文件或指定文件類型文件(包含所有子文件夾) 9 /// </summary> 10 /// <param name="path">文件夾路徑</param> 11 /// <param name="extName">擴展名可以多個 例如 .mp3.wma.rm</param> 12 /// <returns>List<FileInfo></returns> 13 public static List<FileInfo> getFile(string path, string extName) 14 { 15 getdir(path, extName); 16 return lst; 17 } 18 /// <summary> 19 /// 私有方法,遞歸獲取指定類型文件,包含子文件夾 20 /// </summary> 21 /// <param name="path"></param> 22 /// <param name="extName"></param> 23 private static void getdir(string path, string extName) 24 { 25 try 26 { 27 string[] dir = Directory.GetDirectories(path); //文件夾列表 28 DirectoryInfo fdir = new DirectoryInfo(path); 29 FileInfo[] file = fdir.GetFiles(); 30 //FileInfo[] file = Directory.GetFiles(path); //文件列表 31 if (file.Length != 0 || dir.Length != 0) //當前目錄文件或文件夾不為空 32 { 33 foreach (FileInfo f in file) //顯示當前目錄所有文件 34 { 35 if (extName.ToLower().IndexOf(f.Extension.ToLower()) >= 0) 36 { 37 lst.Add(f); 38 } 39 } 40 foreach (string d in dir) 41 { 42 getdir(d, extName);//遞歸 43 } 44 } 45 } 46 catch (Exception ex) 47 { 48 LogHelper.WriteLog(ex); 49 throw ex; 50 } 51 } 52 } 53 54 55 public partial class FileGet1 56 { 57 /// <summary> 58 /// 獲得目錄下所有文件或指定文件類型文件(包含所有子文件夾) 59 /// </summary> 60 /// <param name="path">文件夾路徑</param> 61 /// <param name="extName">擴展名可以多個 例如 .mp3.wma.rm</param> 62 /// <returns>List<FileInfo></returns> 63 public static List<FileInfo> getFile(string path, string extName) 64 { 65 try 66 { 67 List<FileInfo> lst = new List<FileInfo>(); 68 string[] dir = Directory.GetDirectories(path); //文件夾列表 69 DirectoryInfo fdir = new DirectoryInfo(path); 70 FileInfo[] file = fdir.GetFiles(); 71 //FileInfo[] file = Directory.GetFiles(path); //文件列表 72 if (file.Length != 0 || dir.Length != 0) //當前目錄文件或文件夾不為空 73 { 74 foreach (FileInfo f in file) //顯示當前目錄所有文件 75 { 76 if (extName.ToLower().IndexOf(f.Extension.ToLower()) >= 0) 77 { 78 lst.Add(f); 79 } 80 } 81 foreach (string d in dir) 82 { 83 getFile(d, extName);//遞歸 84 } 85 } 86 return lst; 87 } 88 catch (Exception ex) 89 { 90 LogHelper.WriteLog(ex); 91 throw ex; 92 } 93 } 94 95 }