C#獲取某路徑資料夾中全部圖片或其它指定格式的檔名的例項方法
阿新 • • 發佈:2020-01-07
1、編寫獲取檔名(全路徑)子函式
/////param ///path:資料夾路徑 ///suffix:字尾格式, 如bmp,txt ///fileList:檔名存放 ///isSubcatalog:true遍歷子資料夾,否則不遍歷 void getFiles(string path,string suffix, ref List<string> fileList, bool isSubcatalog) { string filename; DirectoryInfo dir = new DirectoryInfo(path); FileInfo[] file = dir.GetFiles(); //DirectoryInfo[] dii = dir.GetDirectories();//如需遍歷子資料夾時需要使用 foreach (FileInfo f in file) { filename = f.FullName; if (filename.EndsWith(suffix))//判斷檔案字尾,並獲取指定格式的檔案全路徑增添至fileList { fileList.Add(filename); } } 獲取子資料夾內的檔案列表,遞迴遍歷 if(isSubcatalog) { foreach (DirectoryInfo d in dii) { getFiles(d.FullName,fileList); } } return; }
2、在介面中放置一個button控制元件,單擊按鈕時彈出資料夾路徑選擇視窗,並呼叫getFiles子函式:
List<string> imageFiles = new List<string>(); private void btnSelectPath_Click(object sender,EventArgs e) { FolderBrowserDialog dialog = new FolderBrowserDialog(); dialog.Description = "Please choose image path."; DialogResult result = dialog.ShowDialog(); if (result == System.Windows.Forms.DialogResult.Cancel) { return; } string folderPath = dialog.SelectedPath.Trim(); DirectoryInfo theFolder = new DirectoryInfo(folderPath); if (theFolder.Exists) { getFiles(folderPath,"bmp",ref imageFiles,false); return; } }
以上例項程式碼大家可以本機測試下,感謝大家的學習和對我們的支援。