C#获取文件夹内文件包括子文件,递归实例

这个在我工作上,写了一次工具项目,用上的。

static ArrayList FileList = new ArrayList();//这个必须写在方法外,

static ArrayList GetAll(string pa)//搜索文件夹中的文件 ,文件夹,以及子文件,递归实现。

{

DirectoryInfo dir = new DirectoryInfo(pa);

FileInfo[] allFile = dir.GetFiles();

foreach (FileInfo fi in allFile)

{

FileList.Add(fi.Name);//添加获取文件名

}

DirectoryInfo[] allDir = dir.GetDirectories();

foreach (DirectoryInfo d in allDir)

{

FileList.Add(d.Name);//添加获取的文件夹名

GetAll(d.FullName);//递归获取子文件等

}

return FileList;

}

static void Main(string[] args)

{

ArrayList Flst = GetAll(@"C:\Users\Administrator\Desktop\Files");//自己设置的一个文件夹路径

foreach (var v in Flst)

{

Console.WriteLine(v);

}

Console.ReadLine();

}

}