递归实现查找目录下的所有子目录和文件 public void FindFile(string dir) //参数为指定的目录 { //在指定目录及子目录下查找文件,在listBox1中列出子目录及文件 DirectoryInfo Dir=new DirectoryInfo(dir); try { foreach(DirectoryInfo d in Dir.GetDirectories()) //查找子目录 { FindFile(Dir+d.ToString()+"\\"); listBox1.Items.Add(Dir+d.ToString()+"\\"); //listBox1中填加目录名 } foreach(FileInfo f in Dir.GetFiles("*.*")) //查找文件 { listBox1.Items.Add(Dir+f.ToString()); //listBox1中填加文件名 } } catch(Exception e) { MessageBox.Show(e.Message); } } 调用 private void button1_Click(object sender, System.EventArgs e) { string currentdir="F:\\myprogram\\C#\\FileSearch"; //搜索的目录 if(currentdir[currentdir.Length-1]!='\\') //非根目录 currentdir+="\\"; FindFile(currentdir); //调用查找文件函数 } 加上 using System.IO; |
|