递归实现查找目录下的所有子目录和文件

递归实现查找目录下的所有子目录和文件  
   
  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;  
posted @ 2007-12-17 17:34  赖文华.NET  阅读(993)  评论(0编辑  收藏  举报