源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-02-08 05:24 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#删除文件目录或文件的解决方法
[u]复制代码[/u] 代码如下:
/// 删除文件和目录 public class Cleaner
 {
    ///    /// 删除指定目录以及该目录下所有文件    ///    /// 欲删除文件或者目录的路径
     public static void Clean ( string dir )
 {
          CleanFiles ( dir );//第一次删除文件
          CleanFiles ( dir );//第二次删除目录
     }

 private static void CleanFiles( string dir)
 {
         if ( !Directory.Exists ( dir ) ) 
         {           File.Delete ( dir );           return;
         }
         else 
    { 
      string[] dirs = Directory.GetDirectories ( dir ); 
     string[] files = Directory.GetFiles ( dir ); 

   if ( 0 != dirs.Length )      
     {        
      foreach ( string subDir in dirs )          
      {            
       if ( null == Directory.GetFiles( subDir ) )             
       {                          Directory.Delete( subDir );                 
        return;             
       }             
       else CleanFiles ( subDir );         
      }      
     }    
     if ( 0 != files.Length )           {      
      foreach ( string file in files )       
      {        
       File.Delete ( file );                }     
     }     
     else Directory.Delete( dir );    
    } 
   } }
[b]使用方法,一句话.Directory.Delete( path, true) [/b]以上有人可能认为很烦,没有意义,保必用递归呢.几句代码就可以了. 但我想说,使用递归的好处就是,可以,在里面做判断,比如你只想删除其中的部分条件文件,你可以这样改一下..比如你只想删除名字等到.aaa.txt的.完全可以,
[u]复制代码[/u] 代码如下:
foreach ( string subDir in dirs )          
      {            
       if ( null == Directory.GetFiles( subDir )   && subDir == "aaa.txt")             
       {                          Directory.Delete( subDir );                 
        return;             
       }             
       else CleanFiles ( subDir );         
      }
当然我只是弄个简单例子,但希望有用.呵.
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部