c#递归循环获取多层级文件夹下的文件
1、通过用户指定某一个文件夹进行递归循环获取,得到最末级文件夹下的文件,进行处理,直接上代码!
//首先获取本地指定文件夹
private void button_Click(object sender, RoutedEventArgs e)
{
//获取本地用户指定路径
string path = AppDomain.CurrentDomain.BaseDirectory + “\Data”;
List nameList = new List();
//调用方法
Director(path, nameList);
}
public void Director(string dir, List list)
{
DirectoryInfo d = new DirectoryInfo(path);
FileInfo[] files = d.GetFiles();//文件
DirectoryInfo[] directs = d.GetDirectories();//文件夹
foreach (FileInfo f in files)
{
file file = new file();
file.name = f.Name;
file.path = f.FullName;
list.Add(file);//添加文件名到列表中
}
//获取子文件夹内的文件列表,递归遍历
foreach (DirectoryInfo dd in directs)
{
Director(dd.FullName, list);
}
}
//文件类
public class file
{
//文件地址
public string path { get; set; }
//文件名称
public string name { get; set; }
}