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

发布时间:2024年01月24日

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));
}
文章来源:https://blog.csdn.net/ws_please/article/details/135825318
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。