只遍历子文件夹和根文件夹下面文件目录的方法:
DirectoryInfo theFolder = new DirectoryInfo(@"E:\工作\Work");//文件的操作类 FileInfo[] fileRootInfo = theFolder.GetFiles();//返回当前根目录的文件 foreach (FileInfo NextFile in fileRootInfo) { this.listBox1.Items.Add(NextFile.Name);//遍历文件 } DirectoryInfo[] dirInfo = theFolder.GetDirectories();//返回当前文件子目录 //遍历文件夹 foreach (DirectoryInfo NextFolder in dirInfo) { // this.listBox2.Items.Add(NextFolder.Name); FileInfo[] fileInfo = NextFolder.GetFiles();//返回当前文件子目录的文件 foreach (FileInfo NextFile in fileInfo) //遍历文件 this.listBox2.Items.Add(NextFile.FullName); }
递归遍历文件夹下面所有的文件夹的子类目录:
public ArrayList al = new ArrayList(); //我把ArrayList当成动态数组用 public void GetAllDirList(string strBaseDir) { DirectoryInfo di = new DirectoryInfo(strBaseDir); DirectoryInfo[] diA = di.GetDirectories(); for (int i = 0; i < diA.Length; i++) { al.Add(diA[i].FullName); //diA[i].FullName是某个子目录的绝对地址,把它记录在ArrayList中 GetAllDirList(diA[i].FullName); //注意:递归了。逻辑思维正常的人应该能反应过来 } for (int i = 0; i < al.Count; i++) { this.listBox1.Items.Add(al[i].ToString() + " "); //textBox1是容器,拷贝我的代码,注意要换一个你自己的容器 } }
时间: 2024-11-05 04:19:41