public static boolean deleteAllFile(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 = DeleteFile.deleteFile(files[i].getAbsolutePath()); ?? ??? ??? ??? ? if (!flag) ?? ??? ??? ??? ??? ? break ; ?? ??? ??? ?} ?? ??? ??? ? // 删除子文件夹 ?? ??? ??? ? else if (files[i].isDirectory()) {
?? ??? ??? ??? ?flag = DeleteFile.deleteAllFile(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 ; ?? ??? ?} ?? ?} |