DirectoryInfo di = new DirectoryInfo("c:/TestFile");
System.Collections.Stack s = new Stack();
s.Push(di);
//这里本路径下所有的文件夹
DirectoryInfo[] dii = di.GetDirectories("*",SearchOption.AllDirectories);
foreach (DirectoryInfo dix in dii)
...{
s.Push(dix);//将文件夹都放入栈中
}
ArrayList alist = new ArrayList();
while (0 != s.Count)
...{
DirectoryInfo dixx = (DirectoryInfo)s.Pop();
FileInfo[] fi = dixx.GetFiles();
foreach (FileInfo xx in fi)
...{
alist.Add(xx);//将文件信息存入ArrayList
Console.WriteLine(xx.Name);
}
}
System.Console.Read();


//还有更简单的方法。
DirectoryInfo di = new DirectoryInfo("c:/TestFile");
FileInfo[] fi = di.GetFiles("*",SearchOption.AllDirectories);

这里还要加入
using System.IO;
using System.Collection;
其中GetFiles("*",SearchOption.AllDirectories)中的第一个参数是查询模式,符合正则表达式的使用习惯。
第二个参数中一个值是递归的搜索所有目录,一个只是当前目录,不搜索其他子目录

本文介绍了一种使用C#语言遍历指定目录及其子目录下所有文件的方法,并提供了具体的代码实现,通过DirectoryInfo和FileInfo类来获取文件信息。
5667

被折叠的 条评论
为什么被折叠?



