java 删除文件夹下所有文件包括文件夹

本文介绍了一个Java方法,用于递归删除指定路径下的所有文件及子文件夹。该方法首先检查目标路径是否存在,然后遍历并删除所有内容。

/**
     * Purpose:删除文件夹下所有文件包括文件夹
     * @author Hermanwang
     * @param path
     * @return
     * @return boolean
     */
    public static boolean deleteDir(String path){
        File file = new File(path);
        if(!file.exists()){//判断是否待删除目录是否存在
            return false;
        }
        String[] content = file.list();//取得当前目录下所有文件和文件夹
        for(String name : content){
            File temp = new File(path, name);
            if(temp.isDirectory()){//判断是否是目录
                deleteDir(temp.getAbsolutePath());//递归调用,删除目录里的内容
                temp.delete();//删除空目录
            }else{
                temp.delete();
            }
        }
        return true;
    }

 

调用:

deleteDir(filePath);

Java 中,要删除指定文件夹下的所有文件但不删除文件夹,有多种实现方式。 #### 递归方式 ```java public class Main { public static void deleteFilesInDirectory(File directory) { if (directory.exists() && directory.isDirectory()) { for (File file : directory.listFiles()) { if (file.isDirectory()) { deleteFilesInDirectory(file); } else { file.delete(); } } } } public static void main(String[] args) { File directory = new File("/path/to/dir"); deleteFilesInDirectory(directory); } } ``` 上述代码定义了 `deleteFilesInDirectory` 方法,该方法接受一个 `File` 对象作为参数。首先检查该对象是否为存在的文件夹,若是则遍历其下的所有文件和子文件夹。对于子文件夹,递归调用该方法;对于文件,直接调用 `delete` 方法删除。在 `main` 方法中创建要操作的文件夹对象并调用该方法进行文件删除操作。 #### 另一种递归实现 ```java public class Main { public static void deleteFile(String filePath) { File file = new File(filePath); if (file.isFile()) { file.delete(); } else { String[] childFilePath = file.list(); for (String path : childFilePath) { deleteFile(file.getAbsolutePath() + "/" + path); } } } public static void main(String[] args) { String directoryPath = "/path/to/dir"; deleteFile(directoryPath); } } ``` 此代码定义了 `deleteFile` 方法,该方法接受文件文件夹路径作为参数。如果是文件则直接删除;如果是文件夹,则获取其下所有文件和子文件夹的相对路径,递归调用该方法进行处理,不会删除文件夹本身 [^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值