在网上,遍历文件夹的算法大多是用递归思想实现的 ,我查了一下资料,结合应用实际,总结了两个方法。 方法一、 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); } } }