方法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 } } } }
方法4:递归删除法(删除目录和文件)
static void DeleteDirectory(string dir) { if (Directory.GetDirectories(dir).Length == 0 && Directory.GetFiles(dir).Length == 0) { Directory.Delete(dir); return; } foreach (string var in Directory.GetDirectories(dir)) { DeleteDirectory(var); } foreach (string var in Directory.GetFiles(dir)) { File.Delete(var); } Directory.Delete(dir); }
感谢:http://blog.163.com/da7_1@126/blog/static/104072678201251411105629/
浙公网安备 33010602011771号