批量重命名音乐文件

批量重命名音乐文件

从酷狗音乐下载音乐时,发现下载的音乐的文件名都是以歌手开头,看着很难受,而且在酷狗的下载设置里没有下载的文件名设置。

简而言之这个小程序就是将文件名为歌手 - 音乐名.后缀的音乐文件批量修改为音乐名-歌手.后缀的样式

先看下效果

实现效果

思路

  1. 获取音乐文件
  2. 利用正则改名
  3. 文件改名
  4. 简单地设计一下界面

详细步骤

1. 先设计核心代码,重命名

例如周杰伦 - 青花瓷.flac文件就需要把他改为青花瓷-周杰伦.flac(修改之前的文件名是包含空格的)

public static String getNewName(String oldName) {
    String newName;
    //去掉字符串的所有空格
    newName = oldName.replaceAll(" ", "");
    //分离歌手,歌名,文件后缀
    String[] results = newName.split("-|\\.");
    //连接新的字符串
    if (results.length == 3) {
        newName = results[1] + "-" + results[0] + "." + results[2];
    }
    return newName;
}

本方法传入的形参为要修改的文件名,返回修改后的文件名

2. 设计重命名单个文件的方法

public static void rename(File file, String fileName) {
    //文件类型不是目录
    if (!file.isDirectory()) {
        File newFile = new File(file.getParent(), fileName);
        file.renameTo(newFile);
        System.out.println("修改完成:" + newFile.getName());
    }
}

传入的形参为文件和修改后的文件名

3. 重命名音乐目录下的文件

public static void renameMusicDirectory(File directoryFile) {
    if (directoryFile.isDirectory()) {
        File[] results = directoryFile.listFiles();
        for (int i = 0; i < results.length; i++) {
            if (results[i].isFile()) {
                String newName = getNewName(results[i].getName());
                System.out.println("修改前的名称:" + results[i].getName());
                rename(results[i], newName);
            }
        }
    }
}

参数只需传入文件目录即可,然后循环调用单个文件重命名的方法即可

源码已上传至本人的GitHub仓库 ,欢迎访问

也可以花费5个积分通过CSDN下载,支持我一下!

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值