zoukankan      html  css  js  c++  java
  • Java 代码完成删除文件、文件夹操作

    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);

    }

    }

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

  • 相关阅读:
    POJ 3253 Fence Repair
    POJ 2431 Expedition
    NYOJ 269 VF
    NYOJ 456 邮票分你一半
    划分数问题 DP
    HDU 1253 胜利大逃亡
    NYOJ 294 Bot Trust
    NYOJ 36 最长公共子序列
    HDU 1555 How many days?
    01背包 (大数据)
  • 原文地址:https://www.cnblogs.com/lanliying/p/4401903.html
Copyright © 2011-2022 走看看