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