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)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBloc
kStart.gif) ![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/
ContractedBlock.gif) … {
s.Push(dix); // 将文件夹都放入栈中
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBloc
kEnd.gif) }
ArrayList alist = new ArrayList();
while ( 0 != s.Count)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBloc
kStart.gif) ![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/
ContractedBlock.gif) … {
DirectoryInfo dixx = (DirectoryInfo)s.Pop();
FileInfo[] fi = dixx.GetFiles();
foreach (FileInfo xx in fi)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubB
lockStart.gif) ![](http://images.csdn.net/syntaxhighlighting/OutliningIndicato
rs/ContractedSubBlock.gif) … {
alist.Add(xx); // 将文件信息存入ArrayList
Console.WriteLine(xx.Name);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubB
lockEnd.gif) }
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBloc
kEnd.gif) }
System.Console.Read();
//
还有更简单的方法。
DirectoryInfo di = new DirectoryInfo( " c:/TestFile " );
FileInfo[] fi = di.GetFiles( " * " ,SearchOption.AllDirectories);
这里还要加入
using System.IO;
using System.Collection;
其中GetFiles(“*”,SearchOption.AllDirectories)中的第一个参数是查询模式,符合正则表达式的使用习惯。
第二个参数中一个值是递归的搜索所有目录,一个只是当前目录,不搜索其他子目录