重命名歌词文件与歌曲文件相同

背景:下载歌曲放到车上不显示歌词

过程:下载的歌曲用酷狗打开会自动下载krc格式的歌词(我的车上不支持krc,支持lrc),用《KRC转LRC软件》工具把歌词批量转为lrc格式的。但酷狗下下来的歌词文件名会增加一串字符,如歌曲(abc.mp3)歌词名为(abc-0000000-234034-23.krc),需要去掉后面字符。

做法:1、转换格式

2、修改文件名

import com.blankj.utilcode.util.FileUtils;

import java.io.File;
import java.io.IOException;

/**
 * @Auther: zzw
 * @Description: 批量重命名文件,歌词修改为和歌曲名一致
 */
public class testzzw {
    static String dir = "E:\\music";

    public static void main(String[] args) throws IOException {
        recursiveTraversalFolder(dir);//递归遍历此路径下所有文件夹
    }
    /**
     * 递归遍历文件夹获取文件
     */
    public static void recursiveTraversalFolder(String path) {
        File folder = new File(path);
        if (folder.exists()) {
            File[] fileArr = folder.listFiles();
            if (null == fileArr || fileArr.length == 0) {
                System.out.println("文件夹是空的!");
                return;
            } else {
                File newDir = null;//文件所在文件夹路径+新文件名
                String fileFullName = null;
                for (File file : fileArr) {
                    if (file.isDirectory()) {//是文件夹,继续递归,如果需要重命名文件夹,这里可以做处理
                        System.out.println("文件夹:" + file.getAbsolutePath() + ",继续递归!");
                        recursiveTraversalFolder(file.getAbsolutePath());
                    } else {//是文件,判断是否需要重命名
                        fileFullName = file.getName();
                        String fileName = "";
                        if(FileUtils.getFileExtension(fileFullName).equals("mp3")){
                            fileName = FileUtils.getFileNameNoExtension(fileFullName);
                            for (File f : fileArr) {
                                if( FileUtils.getFileExtension(f).equals("lrc") ){
                                    String lrcFileFullName = FileUtils.getFileNameNoExtension(f);
                                    if( lrcFileFullName.indexOf(fileName) != -1 ){
                                        FileUtils.rename(f,fileName+".lrc");
                                    }
                                }
                            }
                        }

                    }
                }
            }
        } else {
            System.out.println("文件不存在!");
        }
    }
}
发布了76 篇原创文章 · 获赞 39 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/qq_26075861/article/details/102699942