C# 列出目錄及子目錄之所有檔案
用遞迴的方法,列出目錄及子目錄之所有檔案。以下的方法如果目錄或檔名太長會出錯。
using System.IO; using System.Collections; private void GetFiles(DirectoryInfo di, string searchPattern, ref ArrayList MyFiles) { //取得檔案 foreach (FileInfo fi in di.GetFiles(searchPattern)) { MyFiles.Add(fi.FullName); } // Search in subdirctories foreach (DirectoryInfo d in di.GetDirectories()) { GetFiles(d, searchPattern, ref MyFiles); //遞迴方法 } }呼叫使用:
//檔名的Keyword string searchPattern = "*"; //可以指定目錄 或 取得目前工作目錄 //string InitDirectory = @"C:\"; string InitDirectory =Directory.GetCurrentDirectory(); //存放檔名的List ArrayList MyFiles = new ArrayList(); DirectoryInfo di = new DirectoryInfo(InitDirectory); // 呼叫上面的函式 Get Files GetFiles(di, searchPattern, ref MyFiles); //Print it foreach (string s in MyFiles) { // System.Diagnostics.Debug.Write(s); this.textBox3.AppendText(s+"\n"); }[參考連結]
http://www.csharpfriends.com/Forums/ShowPost.aspx?PostID=33800
沒有留言:
張貼留言