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

所属分类: 软件编程 / C#教程 阅读数: 107
收藏 0 赞 0 分享
复制代码 代码如下:

/// 删除文件和目录
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 );
   
    }

   }
}

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

foreach ( string subDir in dirs )
         
      {
           
       if ( null == Directory.GetFiles( subDir )   && subDir == "aaa.txt")
            
       {
                         Directory.Delete( subDir );
                
        return;
            
       }
            
       else CleanFiles ( subDir );
        
      }

当然我只是弄个简单例子,但希望有用.呵.
更多精彩内容其他人还在看

C#抽象类与抽象方法详解

这篇文章主要为大家详细介绍了C#抽象类与抽象方法的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

C#代码实现扑克牌排序的几种方式

今天小编就为大家分享一篇关于C#代码实现扑克牌排序,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

C#泛型概念的简介与泛型的使用

今天小编就为大家分享一篇关于C#泛型概念的简介与泛型的使用,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

C# 7.0 使用下划线忽略使用的变量的原因分析

这篇文章主要介绍了C# 7.0 使用下划线忽略使用的变量的原因浅析,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C# 中使用正则表达式匹配字符的含义

正则表达式的作用用来描述字符串的特征。本文重点给大家介绍C# 中使用正则表达式匹配字符的含义,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
收藏 0 赞 0 分享

C# Dictionary和SortedDictionary的简介

今天小编就为大家分享一篇关于C# Dictionary和SortedDictionary的简介,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

C#中SQL Command的基本用法

今天小编就为大家分享一篇关于C#中SQL Command的基本用法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

C#使用SQL DataReader访问数据的优点和实例

今天小编就为大家分享一篇关于C#使用SQL DataReader访问数据的优点和实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

C#使用SQL Dataset数据集代码实例

今天小编就为大家分享一篇关于的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

C#使用SQL DataAdapter数据适配代码实例

今天小编就为大家分享一篇关于C#使用SQL DataAdapter数据适配代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享
查看更多