zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C#删除文件目录或文件的解决方法

c#文件方法 解决 删除 文件目录
2023-06-13 09:15:00 时间
复制代码代码如下:

///删除文件和目录
publicclassCleaner

{

  ///
  ///删除指定目录以及该目录下所有文件
  ///
  ///欲删除文件或者目录的路径
 
  publicstaticvoidClean(stringdir)

{
  
      CleanFiles(dir);//第一次删除文件
  
      CleanFiles(dir);//第二次删除目录
 
  }


privatestaticvoidCleanFiles(stringdir)

{
 
      if(!Directory.Exists(dir))
  
     {
         File.Delete(dir);
         return;
  
     }
  
     else

   {

     string[]dirs=Directory.GetDirectories(dir);

    string[]files=Directory.GetFiles(dir);


  if(0!=dirs.Length)
    
    {
      
     foreach(stringsubDirindirs)
        
     {
          
      if(null==Directory.GetFiles(subDir))
           
      {
                        Directory.Delete(subDir);
               
       return;
           
      }
           
      elseCleanFiles(subDir);
       
     }
    
    }
  
    if(0!=files.Length)
         {
    
     foreach(stringfileinfiles)
     
     {
      
      File.Delete(file);
              }
   
    }
   
    elseDirectory.Delete(dir);
  
   }

  }
}

使用方法,一句话.Directory.Delete(path,true)
以上有人可能认为很烦,没有意义,保必用递归呢.几句代码就可以了.
但我想说,使用递归的好处就是,可以,在里面做判断,比如你只想删除其中的部分条件文件,你可以这样改一下..比如你只想删除名字等到.aaa.txt的.完全可以,
复制代码代码如下:

foreach(stringsubDirindirs)
        
     {
          
      if(null==Directory.GetFiles(subDir)  &&subDir=="aaa.txt")
           
      {
                        Directory.Delete(subDir);
               
       return;
           
      }
           
      elseCleanFiles(subDir);
       
     }

当然我只是弄个简单例子,但希望有用.呵.