예제 #1
0
 /**
  * 删除文件,可以删除单个文件或文件夹
  *
  * @param fileName 被删除的文件名
  * @return 如果删除成功,则返回true,否是返回false
  */
 public static boolean delFile(String fileName) {
   File file = new File(fileName);
   if (!file.exists()) {
     log.debug(fileName + " 文件不存在!");
     return true;
   } else {
     if (file.isFile()) {
       return FileUtils.deleteFile(fileName);
     } else {
       return FileUtils.deleteDirectory(fileName);
     }
   }
 }
예제 #2
0
  /**
   * 删除目录及目录下的文件
   *
   * @param dirName 被删除的目录所在的文件路径
   * @return 如果目录删除成功,则返回true,否则返回false
   */
  public static boolean deleteDirectory(String dirName) {
    String dirNames = dirName;
    if (!dirNames.endsWith(File.separator)) {
      dirNames = dirNames + File.separator;
    }
    File dirFile = new File(dirNames);
    if (!dirFile.exists() || !dirFile.isDirectory()) {
      log.debug(dirNames + " 目录不存在!");
      return true;
    }
    boolean flag = true;
    // 列出全部文件及子目录
    File[] files = dirFile.listFiles();
    for (File file : files) {
      // 删除子文件
      if (file.isFile()) {
        flag = FileUtils.deleteFile(file.getAbsolutePath());
        // 如果删除文件失败,则退出循环
        if (!flag) {
          break;
        }
      }
      // 删除子目录
      else if (file.isDirectory()) {
        flag = FileUtils.deleteDirectory(file.getAbsolutePath());
        // 如果删除子目录失败,则退出循环
        if (!flag) {
          break;
        }
      }
    }

    if (!flag) {
      log.debug("删除目录失败!");
      return false;
    }
    // 删除当前目录
    if (dirFile.delete()) {
      log.debug("删除目录 " + dirName + " 成功!");
      return true;
    } else {
      log.debug("删除目录 " + dirName + " 失败!");
      return false;
    }
  }