/** * 删除目录(文件夹)以及目录下的文件,只删除文件夹 * * @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; } }