java将一个文件夹里面的文件名后缀批量修改

/**
     * ########################################################################################
     * 将一个文件夹里面的文件名后缀批量修改
     *
     * @param pathName          文件夹路径
     * @param oldFileSuffexName 老文件名后缀
     * @param newFileSuffexName 新文件名后缀
     */
    public static void renameDirFiles(String pathName, String oldFileSuffexName, String newFileSuffexName) {
        logger.info("{}", pathName);
        File file = new File(pathName);
        /* 1,获取该文件夹下的所有的文件和文件夹 */
        File[] subFiles = file.listFiles();
        /* 2,遍历数组 */
        if (subFiles.length != 0) {
            for (File subFile : subFiles) {
                /* 3,判断是文件直接删除 */
                if (subFile.isFile()) {
                    String fileName0String = subFile.getName();
                    String suffexString = fileName0String.substring(fileName0String.lastIndexOf(".") + 1);
                    if (oldFileSuffexName.equals(suffexString)) {
                        String firString = fileName0String.substring(0, fileName0String.lastIndexOf("."));
                        String newFilePath = subFile.getParent() + "\\" + firString + "." + newFileSuffexName;
                        File newFile = new File(newFilePath);
                        if (!subFile.renameTo(newFile)) {
                            //do something
                        }
                    }
                    /* 4,如果是文件夹,递归调用 */
                } else {
                    renameDirFiles(subFile.getPath(), oldFileSuffexName, newFileSuffexName);
                }
            }
        }
    }

你可能感兴趣的:(java将一个文件夹里面的文件名后缀批量修改)