1. 程式人生 > 實用技巧 >資料夾中檔案搜尋

資料夾中檔案搜尋

/// <summary>
        /// 獲取所有檔案
        /// </summary>
        /// mark 代表需要壓縮的檔案型別*.*代表所有檔案
        /// <returns></returns>
        public static Dictionary<string, DateTime> GetAllFies(string dir,string mark)
        {
            Dictionary<string, DateTime> FilesList = new Dictionary<string
, DateTime>(); DirectoryInfo fileDire = new DirectoryInfo(dir); if (!fileDire.Exists) { throw new System.IO.FileNotFoundException("目錄:" + fileDire.FullName + "沒有找到!"); } GetAllDirFiles(fileDire, FilesList, mark); GetAllDirsFiles(fileDire.GetDirectories(), FilesList, mark);
return FilesList; } /// <summary> /// 獲取一個資料夾下的所有資料夾裡的檔案 /// </summary> /// <param name="dirs"></param> /// mark 代表需要壓縮的檔案型別*.*代表所有檔案 /// <param name="filesList"></param> public static void GetAllDirsFiles(DirectoryInfo[] dirs, Dictionary<string
, DateTime> filesList, string mark) { foreach (DirectoryInfo dir in dirs) { foreach (FileInfo file in dir.GetFiles(mark)) { filesList.Add(file.FullName, file.LastWriteTime); } GetAllDirsFiles(dir.GetDirectories(), filesList, mark); } } /// <summary> /// 獲取一個資料夾下的檔案 /// </summary> /// mark 代表需要壓縮的檔案型別*.*代表所有檔案 /// <param name="dir">目錄名稱</param> /// <param name="filesList">檔案列表HastTable</param> public static void GetAllDirFiles(DirectoryInfo dir, Dictionary<string, DateTime> filesList, string mark) { foreach (FileInfo file in dir.GetFiles(mark)) { filesList.Add(file.FullName, file.LastWriteTime); } }