JAVA文件工具类之——文件删除(所有空目录、当前目录中所有目录文件、目录下所有文件)

来源:互联网 发布:火山软件开发平台 编辑:程序博客网 时间:2024/06/05 17:52
//下面的三种文件删除方式极为常用所以积累下来!//1. 删除目录下所有文件//2. 删除当前目录中所有目录文件//3. 删除所有空目录        /** * 删除目录下所有文件 *  * @param dir * @return */public static void deleteDir(File dir) {if (dir.isDirectory()) {File[] files = dir.listFiles();for (File file : files) {deleteFile(file);}} else {dir.delete();}}/** * 删除当前目录中所有目录文件 *  * @param dir */public static void deleteAllDir(File dir) {File[] files = dir.listFiles();if (files != null) {for (File file : files) {if (file.isDirectory()) {deleteFile(file);}}}}       /**     * @Title: delNullDir       * @Description: 删除空目录       * @param filePath  文件路径(递归调用时发生改变)     * @param initFilePath  文件路径(递归调用时路径不发生改变,用于判断传入的根路径)      * @return void    返回类型       * @throws     */    public static void delNullDir(String filePath,String initFilePath) {        File file=new File(filePath);        logger.debug("文件目录路径:"+filePath);        if(file.isDirectory()){            logger.debug("文件:"+file.getPath());            File[] files=file.listFiles();            if(files.length==0){                try {                    String initFileAbsolutePath=(new File(initFilePath)).getAbsolutePath();                    if(initFileAbsolutePath.equals(file.getAbsolutePath())){                        return;                    }else{                        org.apache.commons.io.FileUtils.deleteDirectory(file);                        logger.debug("删除文件目录为:"+file.getPath());                         String parentPath= file.getParentFile().getAbsolutePath();                         delNullDir(parentPath,initFilePath);                    }                } catch (IOException e) {                    logger.error(e);                }            }else{                for(int i=0;i<files.length;i++){                    filePath=file.getAbsolutePath()+"/"+files[i].getName();                    delNullDir(filePath,initFilePath);                }            }        }    }

阅读全文
1 0
原创粉丝点击