手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#删除文件目录或文件的解决方法
C#删除文件目录或文件的解决方法
摘要:复制代码代码如下:///删除文件和目录publicclassCleaner
{
//////删除指定目录以及该目录下...

复制代码 代码如下:

/// 删除文件和目录

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# 托盘双击不触发单击事件的实现方法

AjaxControlToolkit AjaxFileUpload 显示英文改成中文的解决方法

C# 去除首尾字符或字符串的方法

深入C# winform清除由GDI绘制出来的所有线条或图形的解决方法

将ocx文件转换成C#程序引用的DLL文件的办法

C#利用com操作excel释放进程的解决方法

C#中执行批处理文件(*.bat)的方法代码

c# 删除所有的空文件夹的小例子

SQL语句删除和添加外键、主键的方法

精品推荐
分类导航