C#删除文件目录或文件的解决方法_C#教程-查字典教程网
C#删除文件目录或文件的解决方法
C#删除文件目录或文件的解决方法
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:///删除文件和目录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#教程学习
    编程开发子分类