java根据文件名称批量删除文件夹

问题描述

今天用公司提供的Python小程序办公,批量创建文件夹,因为还没学Python,导致所创建的文件夹全部乱码,文件夹的数量接近10000条,完蛋,要么重新拷贝原始数据,要么进入文件夹一个一个的将乱码文件夹删除,自己犯的错这工作量,无语。。。。
对于开发,怎么会用那么愚蠢的方法呢?果断选择使用自及最熟悉的java,批量删除乱码的文件夹。

代码

import java.io.File;

public class Demo {
    private static void deleteDirectory(File file) {
        //需要删除文件或者文件夹名称
        String[] s = {"鍦熷湴璇", "鏉冨睘鏉ユ簮璇佹槑", "韬唤璇", "鎴峰彛鏈", "瀹楀湴鍥", "璋冩煡琛"};
        if (file.isFile()) {
            System.out.println(file);
        } else {
            String[] childFilePaths = file.list();
            assert childFilePaths != null;
            for (String childFilePath : childFilePaths) {//遍历指定路径下的文件夹
                File childFile = new File(file.getAbsolutePath() + "/" + childFilePath);
                String[] delfile = childFile.list();
                for (String s1 : delfile) {
                    File delfilepatn = new File(childFile.getAbsolutePath() + "/" + s1);
                    for (String s2 : s) {//遍历字符数组判端所选文件夹是否为需要删除的文件夹
                        if (s1.equals(s2)) {
                            System.out.println(s1 + "==" + s2);//判断是否为需要删除的问价夹,如果是就执行删除操作
                            String sss = childFile.getAbsolutePath() + "/" + s1;
                            System.out.println(sss);
                            delfilepatn.delete();
                        }
                    }
                    System.out.println();
                }
            }
        }
    }

    public static void main(String[] args) {
        //需要删除的文件或文件夹路径
        File del_file = new File("E:\\aks\\akss\\kumubashixiang");
        deleteDirectory(del_file);
    }
}

问题解决

警告

如果所删除文件夹下有重要问价,此操作需要谨慎,建议在执行操作之前拷贝一部分模拟操作一下,观察删除操作是否是自己需要的效果,模拟成果后在执行操作。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐