在网上,遍历文件夹的算法大多是用递归思想实现的 ,我查了一下资料,结合应用实际,总结了两个方法。
方法一、
public void FindAllFiles(string path)
...{
if (Directory.Exists(path)==true )
...{
DirectoryInfo[] ChildDirectory;//子目录集
FileInfo[] NewFileInfo;//当前所有文件
DirectoryInfo FatherDirectory = new DirectoryInfo(path); //当前目录
ChildDirectory = FatherDirectory.GetDirectories("*.*"); //得到子目录集
NewFileInfo = FatherDirectory.GetFiles();//得到文件集,可以进行操作
foreach (FileInfo file in NewFileInfo)
...{
listBox1.Items.Add((Object)file.FullName);
}
foreach (DirectoryInfo dirInfo in ChildDirectory)
...{
FindAllFiles(dirInfo.FullName);
}
}
}
方法二、
private void FindAllFiles(string folderpath)
...{
if (Directory.Exists(folderpath) == true)
...{
foreach (string str in Directory.GetFiles(folderpath))
...{
listBox1.Items.Add((Object)str.ToString());
}
foreach (string strfolder in Directory.GetDirectories(folderpath))
...{
FindAllFiles(strfolder);
}
}
}
本文提供了两种使用递归思想遍历文件夹并获取所有文件路径的方法。方法一使用 DirectoryInfo 和 FileInfo 对象,方法二直接利用 Directory 类的 GetFiles 和 GetDirectories 方法。
1080

被折叠的 条评论
为什么被折叠?



