您的位置:

java删除目录,java删除路径下所有文件

本文目录一览:

java中怎么删除整个文件夹

public boolean deleteDirectory(String sPath) {

//如果sPath不以文件分隔符结尾,自动添加文件分隔符

if (!sPath.endsWith(File.separator)) {

sPath = sPath + File.separator;

}

File dirFile = new File(sPath);

//如果dir对应的文件不存在,或者不是一个目录,则退出

if (!dirFile.exists() || !dirFile.isDirectory()) {

return false;

}

flag = true;

//删除文件夹下的所有文件(包括子目录)

File[] files = dirFile.listFiles();

for (int i = 0; i files.length; i++) {

//删除子文件

if (files[i].isFile()) {

flag = deleteFile(files[i].getAbsolutePath());

if (!flag) break;

} //删除子目录

else {

flag = deleteDirectory(files[i].getAbsolutePath());

if (!flag) break;

}

}

if (!flag) return false;

//删除当前目录

if (dirFile.delete()) {

return true;

} else {

return false;

}

}

用java写一个方法,用于彻底删除一个目录,注:该目录为多级目录,且目录下有文件。

import java.io.File;

public class DeleteDirectory {

    /**

     * 删除空目录

     * @param dir 将要删除的目录路径

     */

    private static void doDeleteEmptyDir(String dir) {

        boolean success = (new File(dir)).delete();

        if (success) {

            System.out.println("Successfully deleted empty directory: " + dir);

        } else {

            System.out.println("Failed to delete empty directory: " + dir);

        }

    }

    /**

     * 递归删除目录下的所有文件及子目录下所有文件

     * @param dir 将要删除的文件目录

     * @return boolean Returns "true" if all deletions were successful.

     *                 If a deletion fails, the method stops attempting to

     *                 delete and returns "false".

     */

    private static boolean deleteDir(File dir) {

        if (dir.isDirectory()) {

            String[] children = dir.list();

 //递归删除目录中的子目录下

            for (int i=0; ichildren.length; i++) {

                boolean success = deleteDir(new File(dir, children[i]));

                if (!success) {

                    return false;

                }

            }

        }

        // 目录此时为空,可以删除

        return dir.delete();

    }

    /**

     *测试

     */

    public static void main(String[] args) {

        doDeleteEmptyDir("new_dir1");

        String newDir2 = "new_dir2";

        boolean success = deleteDir(new File(newDir2));

        if (success) {

            System.out.println("Successfully deleted populated directory: " + newDir2);

        } else {

            System.out.println("Failed to delete populated directory: " + newDir2);

        }     

    }

}

Java如何删除文件夹下的子目录及其包含的子文件

下面给你介绍Java删除文件夹下的子目录及其包含的子文件的方法:

package com.cn.test1;

import java.io.File;

public class DeleteAllFiles {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

String filePath = "e:\\fq\\";

System.out.println("开始删除文件");

File file = new File(filePath);

// deleteFile(file);

deleteAllFilesOfDir(file);

System.out.println("删除成功!!");

}

//递归删除文件夹(方法一)

public static void deleteFile(File file) {

if (file.exists()) {//判断文件是否存在

if (file.isFile()) {//判断是否是文件

file.delete();//删除文件

} else if (file.isDirectory()) {//否则如果它是一个目录

File[] files = file.listFiles();//声明目录下所有的文件 files[];

for (int i = 0;i files.length;i ++) {//遍历目录下所有的文件

deleteFile(files[i]);//把每个文件用这个方法进行迭代

}

file.delete();//删除文件夹

}

} else {

System.out.println("所删除的文件不存在");

}

}

//方法二

public static void deleteAllFilesOfDir(File path) {

if (!path.exists())

return;

if (path.isFile()) {

path.delete();

return;

}

File[] files = path.listFiles();

for (int i = 0; i files.length; i++) {

deleteAllFilesOfDir(files[i]);

}

path.delete();

}

}