C#得某文件夹下所有的文件
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)中的第一个参数是查询模式,符合正则表达式的使用习惯。
第二个参数中一个值是递归的搜索所有目录,一个只是当前目录,不搜索其他子目录