Java 代码完成删除文件、文件夹操作

转自:http://blog.csdn.net/songylwq/article/details/6106976

  1. import <a href="http://lib.csdn.net/base/17" class='replace_word' title="Java EE知识库" target='_blank' style='color:#df3434; font-weight:bold;'>Java</a>.io.File;  
  2.   
  3. /** 
  4.  * 删除文件和目录 
  5.  *  
  6.  * @author chen 
  7.  *  
  8.  */  
  9. public class DeleteFileUtil {  
  10.   
  11.  /** 
  12.   * 删除文件,可以是文件或文件夹 
  13.   *  
  14.   * @param fileName 
  15.   *            要删除的文件名 
  16.   * @return 删除成功返回true,否则返回false 
  17.   */  
  18.  public static boolean delete(String fileName) {  
  19.   File file = new File(fileName);  
  20.   if (!file.exists()) {  
  21.    System.out.println("删除文件失败:" + fileName + "不存在!");  
  22.    return false;  
  23.   } else {  
  24.    if (file.isFile())  
  25.     return deleteFile(fileName);  
  26.    else  
  27.     return deleteDirectory(fileName);  
  28.   }  
  29.  }  
  30.   
  31.  /** 
  32.   * 删除单个文件 
  33.   *  
  34.   * @param fileName 
  35.   *            要删除的文件的文件名 
  36.   * @return 单个文件删除成功返回true,否则返回false 
  37.   */  
  38.  public static boolean deleteFile(String fileName) {  
  39.   File file = new File(fileName);  
  40.   // 如果文件路径所对应的文件存在,并且是一个文件,则直接删除  
  41.   if (file.exists() && file.isFile()) {  
  42.    if (file.delete()) {  
  43.     System.out.println("删除单个文件" + fileName + "成功!");  
  44.     return true;  
  45.    } else {  
  46.     System.out.println("删除单个文件" + fileName + "失败!");  
  47.     return false;  
  48.    }  
  49.   } else {  
  50.    System.out.println("删除单个文件失败:" + fileName + "不存在!");  
  51.    return false;  
  52.   }  
  53.  }  
  54.   
  55.  /** 
  56.   * 删除目录及目录下的文件 
  57.   *  
  58.   * @param dir 
  59.   *            要删除的目录的文件路径 
  60.   * @return 目录删除成功返回true,否则返回false 
  61.   */  
  62.  public static boolean deleteDirectory(String dir) {  
  63.   // 如果dir不以文件分隔符结尾,自动添加文件分隔符  
  64.   if (!dir.endsWith(File.separator))  
  65.    dir = dir + File.separator;  
  66.   File dirFile = new File(dir);  
  67.   // 如果dir对应的文件不存在,或者不是一个目录,则退出  
  68.   if ((!dirFile.exists()) || (!dirFile.isDirectory())) {  
  69.    System.out.println("删除目录失败:" + dir + "不存在!");  
  70.    return false;  
  71.   }  
  72.   boolean flag = true;  
  73.   // 删除文件夹中的所有文件包括子目录  
  74.   File[] files = dirFile.listFiles();  
  75.   for (int i = 0; i < files.length; i++) {  
  76.    // 删除子文件  
  77.    if (files[i].isFile()) {  
  78.     flag = DeleteFileUtil.deleteFile(files[i].getAbsolutePath());  
  79.     if (!flag)  
  80.      break;  
  81.    }  
  82.    // 删除子目录  
  83.    else if (files[i].isDirectory()) {  
  84.     flag = DeleteFileUtil.deleteDirectory(files[i]  
  85.       .getAbsolutePath());  
  86.     if (!flag)  
  87.      break;  
  88.    }  
  89.   }  
  90.   if (!flag) {  
  91.    System.out.println("删除目录失败!");  
  92.    return false;  
  93.   }  
  94.   // 删除当前目录  
  95.   if (dirFile.delete()) {  
  96.    System.out.println("删除目录" + dir + "成功!");  
  97.    return true;  
  98.   } else {  
  99.    return false;  
  100.   }  
  101.  }  
  102.   
  103.  public static void main(String[] args) {  
  104. //  // 删除单个文件  
  105. //  String file = "c:/test/test.txt";  
  106. //  DeleteFileUtil.deleteFile(file);  
  107. //  System.out.println();  
  108.   // 删除一个目录  
  109.   String dir = "c:/test";  
  110.   DeleteFileUtil.deleteDirectory(dir);  
  111. //  System.out.println();  
  112. //  // 删除文件  
  113. //  dir = "c:/test/test0";  
  114. //  DeleteFileUtil.delete(dir);  
  115.   
  116.  }  
  117.   
  118. }  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值