递归实现遍历文件夹的两种方法
2007-04-03 19:04
786 查看
在网上,遍历文件夹的算法大多是用递归思想实现的 ,我查了一下资料,结合应用实际,总结了两个方法。
方法一、
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);
}
}
}
方法一、
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);
}
}
}
相关文章推荐
- 对指定文件夹进行递归遍历,将所有文件存到QStringList里。两种方法
- Java遍历文件夹的两种方法(非递归和递归) .
- PHP递归遍历指定文件夹内的文件实现方法
- Java遍历文件夹的两种方法(非递归和递归) .
- Java遍历文件夹的两种方法(非递归和递归) .
- Java遍历文件夹的两种方法(非递归和递归)
- Java遍历文件夹的两种方法(非递归和递归)
- Java遍历文件夹的两种方法(非递归和递归)
- PHP递归遍历指定文件夹内的文件实现方法
- 用递归方法实现读取文件夹下所有文件信息
- Node.js使用递归实现遍历文件夹中所有文件
- 面试题:单链表逆置(分别用非递归和递归两种方法实现)
- Java实现二叉树的前序、中序、后序、层序遍历(递归方法)
- 请用递归和非递归俩种方法实现二叉树的前序遍历。
- 非递归遍历文件夹下指定类型的文件-Java栈实现
- PHP递归遍历多维数组实现无限分类的方法
- Java实现二叉树的前序、中序、后序、层序遍历(非递归方法)
- Java深度遍历文件夹(递归实现)
- C语言实现斐波那契数列的两种方法(递归和迭代)
- 面试题-程序题-Java递归实现遍历文件目录(所有文件夹和子文件)