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