Java 实现删除文件、文件夹操作

来源:互联网 发布:富甲天下3武将数据 编辑:程序博客网 时间:2024/06/03 15:56
import java.io.File;/** * 删除文件和目录 *  * @author chen *  */public class DeleteFileUtil { /**  * 删除文件,可以是文件或文件夹  *   * @param fileName  *            要删除的文件名  * @return 删除成功返回true,否则返回false  */ public static boolean delete(String fileName) {  File file = new File(fileName);  if (!file.exists()) {   System.out.println("删除文件失败:" + fileName + "不存在!");   return false;  } else {   if (file.isFile())    return deleteFile(fileName);   else    return deleteDirectory(fileName);  } } /**  * 删除单个文件  *   * @param fileName  *            要删除的文件的文件名  * @return 单个文件删除成功返回true,否则返回false  */ public static boolean deleteFile(String fileName) {  File file = new File(fileName);  // 如果文件路径所对应的文件存在,并且是一个文件,则直接删除  if (file.exists() && file.isFile()) {   if (file.delete()) {    System.out.println("删除单个文件" + fileName + "成功!");    return true;   } else {    System.out.println("删除单个文件" + fileName + "失败!");    return false;   }  } else {   System.out.println("删除单个文件失败:" + fileName + "不存在!");   return false;  } } /**  * 删除目录及目录下的文件  *   * @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;  } } public static void main(String[] args) {//  // 删除单个文件//  String file = "c:/test/test.txt";//  DeleteFileUtil.deleteFile(file);//  System.out.println();  // 删除一个目录  String dir = "c:/test";  DeleteFileUtil.deleteDirectory(dir);//  System.out.println();//  // 删除文件//  dir = "c:/test/test0";//  DeleteFileUtil.delete(dir); }}

0 0
原创粉丝点击