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)中的第一个参数是查询模式,符合正则表达式的使用习惯。

第二个参数中一个值是递归的搜索所有目录,一个只是当前目录,不搜索其他子目录

你可能感兴趣的:(c,正则表达式,C#)