「java删除目录」java 删除目录及里面的文件

博主:adminadmin 2023-01-15 04:27:05 475

今天给各位分享java删除目录的知识,其中也会对java 删除目录及里面的文件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

如何用JAVA删除一个非空的目录

非空,不能直接删除,只能把下面的元素删除了,才能删

因为元素下面,可能还有下级目录,所以,最好用递归来删除。

拷贝一个目录,也是类似的方式

给你上代码吧,也可以到我们海枫论坛中提问

/**

* 删除文件、文件夹

*/

public static void deleteFile(String path) {

File file = new File(path);

if (file.isDirectory()) {

File[] ff = file.listFiles();

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

deleteFile(ff[i].getPath());

}

}

file.delete();

}

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

}

}

java删除目录的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 删除目录及里面的文件、java删除目录的信息别忘了在本站进行查找喔。