java删除当前文件以及包括当前所在文件夹及其所有子文件夹的所有空文件夹

java删除当前文件以及包括当前所在文件夹及其所有子文件夹的所有空文件夹

@Test
public void testDeleteFileAndEmptyDirectory() {
    deleteFileAndEmptyDirectory("D:\\Temp\\testFile\\", "111.txt");
}

public static void deleteFile(String filePath) {
    File file = new File(filePath);//输入要删除文件目录的绝对路径
    System.out.println(filePath);
    System.out.println("file.exists() is " + file.exists());
    if (file.delete()) {
        System.out.println("文件删除成功!");
    } else {
        System.out.println("删除失败");
    }
}
//删除某文件目录下的所有空白文件夹
public static void deleteEmptyDirectory(File file) {
    //1、如果本来文件就为null,那么就返回
    if (file == null) return;
    //2、判断文件不为null或文件目录存在
    if (!file.exists()) {
        System.out.println("文件删除失败,请检查文件是否存在以及文件路径是否正确");
        return;
    }
    //3、获取目录下子文件
    File[] files = file.listFiles();

    //4.1判断存在子文件,不存在子文件,则删除
    if (files == null || files.length == 0) {
        System.out.print("目录名:" + file.getName());
        file.delete();
        System.out.println("被删除!");
        return;
    }

    //4.2 遍历该目录下的文件对象
    for (File f : files) {
        if (f.isDirectory()) deleteEmptyDirectory(f);
    }

    if (file != null && file.listFiles().length == 0) {
        System.out.print("目录名:" + file.getName());
        file.delete();
        System.out.println("被删除!");
    }
}
//删除当前文件以及包括当前所在文件夹及其所有子文件夹的所有空文件夹
public static void deleteFileAndEmptyDirectory(String directoryPath, String fileName) {
    deleteFile(directoryPath + "\\" + fileName);
    deleteEmptyDirectory(new File(directoryPath));
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值