当前位置:  编程技术>.net/c#/asp.net

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

    来源: 互联网  发布时间:2014-10-21

    本文导语:  代码如下:/// 删除文件和目录public class Cleaner
{
   ///   /// 删除指定目录以及该目录下所有文件   ///   /// 欲删除文件或者目录的路径
     public static void Clean ( string dir )
{
          CleanFiles ( dir );//第一次删除文...

代码如下:

/// 删除文件和目录
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# 删除空文件夹的代码
  • C#删除文件夹和文件到回收站示例
  • c# 删除所有的空文件夹的小例子
  • c# 文件(夹)创建与删除
  • C# datatable 不能通过已删除的行访问该行的信息处理方法
  • C#技巧之快速删除bin和obj文件夹的方法
  • c# 文件夹操作(创建或删除)的实现代码
  • C#中DataTable删除行的方法分析
  • c#数据绑定之删除datatable数据示例
  • c#程序删除自身代码示例分享
  • C# TreeView控件实例代码(重新设置TreeView、删除节点、右键选中等)
  • c#删除代码中的单行注释行示例
  • c#中Linq to Sql 增删除的实例
  • C#操作cookie的例子(读取、删除、写入)
  • c#操作xml的代码(插入节点、修改节点、删除节点等)
  • C# 对文件与文件夹的操作包括删除、移动与复制
  • c#操作xml的类(创建 添加 修改 删除)
  • c#使用filesystemwatcher实时监控文件目录的添加和删除
  • c++ stl容器vector删除(erase),遍历等基本用法介绍及头文件
  • 如何删除前面有个-的文件,我的根目录下有个文件叫 -C,请问如何删除?
  • Linux 删除命令关于删除系统打不出的乱码文件名
  • solaris文件系统删除文件后文件夹大小不变
  • 请教:为什么删除不掉?我用超级用户删除某一文件夹rm -R oracle失败。
  • 在linux下删除文件夹的时候总提示Device or resuource busy,请问有没有强行删除的办法?
  • 收藏 不显示删除回复显示所有回复显示星级回复显示得分回复 因无意删除一些文件,ubuntu系统无法启动,请求高手远程帮助
  • linux脚本:清空指定文件夹下的所有文件,但该文件夹不删除
  • 求助~~急~如何删除指定目录下的文件夹???(不是文件)
  • linux 的文件系统,删除文件后为什么文件系统的大小不变?
  • 如何删除某个目录下除了指定文件夹之外的所有文件和文件夹
  • Android中删除文件以及文件夹的命令记录
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • sql server 2005删除用户时“数据库主体在该数据库中拥有架构,无法删除”错误的解决办法
  • 删除文件,求解决
  • vsftpd中怎么解决用户删除权限阿?
  • 删除JComboBox中最后一个元素如何解决
  • 安装SQL2008时提示删除SQL2005Express工具的解决方法
  • 安装完jbuilder无法创建工程(在root用户下),如何解决,如何删除安装?
  • 设置了alias以后重新登录就没有了,怎么解决呢?设什么权限可以删除文件?
  • oracle怎么删除用户提供解决方案
  • SqlServer 2005 无法删除维护计划的解决办法
  • MySQL 删除大表的性能问题解决方案
  • Oracle删除后不能重新安装的解决方法
  • win2000里开发的php+mysql程序,在bsd里不能删除修改,如何解决
  • jquery iis7站长之家
  • 重复数据删除解决方案 Opendedup
  • ASP.NET 程序中删除文件夹导致session失效问题的解决办法分享
  • 使用vi编辑文件,输错了,使用backspace删除,结果出现乱码,求解决办法。。。
  • 当恢复sqlserver bak文件时,原始的用户无法删除的解决方法
  • MSSQL中删除用户时数据库主体在该数据库存中拥有架构 无法删除的解决方法
  • sql server无法对表中重复数据更新或删除的解决方法(图文)
  • 解决Oracle删除重复数据只留一条的方法详解
  • C++ Maps 成员 erase():删除一个元素
  • 怎么实现,动态的增加和删除input,删除时用radiobox选中,然后点删除,即可。谢谢
  • C++ MultiMaps 成员 erase():删除元素
  • 100分相送,怎么实现,动态的增加和删除input,删除时用radiobox选中,然后点删除,即可
  • C++ Double Ended Queues(双向队列) 成员 erase():删除一个元素
  • 请问:linux中的软件包安装后,怎么删除呀,直接删除吗?
  • C++ Lists(链表) 成员 erase():删除一个元素
  • jquery删除提示框(弹出是否删除对话框)
  • C++ Lists(链表) 成员 remove():从list删除元素
  • vim删除命令"d3e"为什么删除单词的数目不一致?
  • C++ Lists(链表) 成员 unique():删除list中重复的元素


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3