/** |
* 删除目录(文件夹)以及目录下的文件,只删除文件夹 |
* |
* @param dir |
* 被删除目录的文件路径 |
* @return 目录删除成功返回true,否则返回false |
*/ |
public static boolean deleteDirectory(String dir) { |
// 如果dir不以文件分隔符结尾,自动添加文件分隔符。 |
if (!dir.endsWith(File.separator)) { |
dir = dir + File.separator; |
} |
File dirFile = new File(dir); |
// 如果dir对应的文件不存在,或者不是一个文件夹,则退出 |
if (!dirFile.exists() || (!dirFile.isDirectory())) { |
System.out.println( "删除目录失败:" + dir + "目录不存在!" ); |
return false ; |
} |
boolean flag = true ; |
// 删除文件夹下所有文件(包括子目录) |
File[] files = dirFile.listFiles(); |
for ( int i = 0 ; i < files.length; i++) { |
// 删除子文件 |
if (files[i].isFile()) { |
flag = DeleteFileUtil.deleteFile(files[i].getAbsolutePath()); |
if (!flag) { |
break ; |
} |
} |
// 删除子目录 |
else if (files[i].isDirectory()) { |
flag = DeleteFileUtil.deleteDirectory(files[i] |
.getAbsolutePath()); |
if (!flag) { |
break ; |
} |
} |
} |
if (!flag) { |
System.out.println( "删除目录失败!" ); |
return false ; |
} |
// 删除当前目录 |
if (dirFile.delete()) { |
System.out.println( "删除目录" + dir + "成功!" ); |
return true ; |
} else { |
return false ; |
} |
} |