在此文中首先进行判断文件夹是否存在,在判断文件夹下的文件是否存在,存在不作任何操作,不存在,直接删除原来的文件夹,并从新渲染。
if (Directory.Exists(destPath))
{
#region 返回的文件路径
dataUrl = url + softid + "/" + id + NetIPTail; // 这是返回的文件路径
#region 判断是否正确生成
if(File.Exists(dataUrlOrXml)){
//存在表示 正确生成
string c = "1";
}else{
//不存在,没生成成功
DirectoryInfo di = new DirectoryInfo(destPath);
di.Delete(true);
GetImgUrl(id, softid, usertypeid);
}
#endregion
#endregion
#region 开始修改logo 路径
// SetDXml.GetSetDXml(dataUrlOrXml, logocheck);//注释
#endregion
}
c#删除文件夹及以下的所有的文件 下文转载自:
https://www.cnblogs.com/wggWeb/archive/2012/02/24/2364521.html
1这是最简单的方法
DirectoryInfo di = new DirectoryInfo(string Path);
di.Delete(true);
注:path是你要删除的非空目录;
true:你要删除里面所有的文件,包括文件夹和子文件夹
2
/// <summary>
/// 删除非空文件夹
/// </summary>
/// <param name="path">要删除的文件夹目录</param>
void DeleteDirectory(string path)
{
DirectoryInfo dir = new DirectoryInfo(path);
if (dir.Exists)
{
DirectoryInfo[] childs = dir.GetDirectories();
foreach (DirectoryInfo child in childs)
{
child.Delete(true);
}
dir.Delete(true);
}
}
3 递归方法:(这是删除文件的方法)
private staticv oid DeleteDirectory(File tmpFile) {
if (!tmpFile.exists()) {
System.out.println("file is not exist!");
return;
}
if (tmpFile.isDirectory()) {
File[] fileList = tmpFile.listFiles();
for (int i =0; i < fileList.length; i++) {
if (fileList[i].isDirectory()) {
DeleteDirectorys(fileList[i]);s
}
}
}
}