C#删除文件目录或文件的解决方法
时间:2022-12-13 09:25:03
/// 删除文件和目录
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#,删除文件目录,文件
0
投稿
猜你喜欢
浅谈Android中多线程切换的几种方法
2022-03-12 06:03:17
Android如何让WebView中的HTML5页面实现视频全屏播放
2023-07-29 00:32:06
java明文密码三重加密方法
2022-09-01 05:59:26
C#实现winform中RichTextBox在指定光标位置插入图片的方法
2022-04-04 01:50:16
C++ opencv实现在图片上画一条线示例代码
2021-12-15 12:34:27
SpringMVC RESTFul实战案例访问首页
2022-03-12 00:21:01
java学习笔记之DBUtils工具包详解
2023-07-27 00:25:44
Android ListView 实现上拉加载的示例代码
2021-09-16 18:04:17
Android基础知识之frame动画效果
2022-07-10 03:46:17
C# API中模型与它们的接口设计详解
2023-11-03 19:49:01
关于Spring源码是如何解决Bean的循环依赖
2023-09-16 14:15:17
Java使用Apache.POI中HSSFWorkbook导出到Excel的实现方法
2022-05-24 17:14:13
通过spring boot 设置tomcat解决 post参数限制问题
2022-09-26 23:38:31
android自定义Camera实现录像和拍照
2022-02-26 19:00:02
Java实现插入排序算法可视化的示例代码
2021-08-06 19:35:50
C# 中的多态底层虚方法调用详情
2023-11-23 16:06:58
Java内存模型详解
2023-06-21 21:04:29
详解关于AndroidQ获取不到imsi解决方案
2023-02-21 14:23:50
MyBatis-Plus实现多数据源的示例代码
2023-11-11 12:58:11
SpringBoot集成RabbitMQ的方法(死信队列)
2023-06-10 15:12:06