解决删除目录提示:System.IO.IOException: 目录不是空的。

本文介绍了一种通过递归方式删除包含文件及子目录的非空目录的方法。该方法首先遍历并删除指定路径下的所有文件,接着递归地删除所有子目录,最后删除目标目录本身。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


/// <summary>
/// 解决删除目录提示:System.IO.IOException: 目录不是空的。
/// 删除一个目录,先遍历删除其下所有文件和目录(递归)
/// </summary>
/// <param name="strPath">绝对路径</param>
/// <returns>是否已经删除</returns>
public static bool DeleteADirectory(string strPath)
{
string[] strTemp;
try
{
//先删除该目录下的文件
strTemp = System.IO.Directory.GetFiles(strPath);
foreach (string str in strTemp)
{
System.IO.File.Delete(str);
}
//删除子目录,递归
strTemp = System.IO.Directory.GetDirectories(strPath);
foreach (string str in strTemp)
{
DeleteADirectory(str);
}
//删除该目录
System.IO.Directory.Delete(strPath);
return true;
}
catch (Exception ex)
{
return false;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值