java歌词添加,分享 :java实现 歌词文件的智能命名解决方法

这段Java代码实现了一个批量重命名LRC歌词文件的工具。它遍历指定目录下的.lrc文件,读取文件开头的1000个字节,通过查找'[ar:]'和'[ti:]'标签来提取歌手和歌曲名,并基于这些信息生成新的文件名。如果找不到相应标签,则使用'未知歌手'或'未知歌名'代替。最后,它将原始文件重命名为新生成的文件名。
摘要由CSDN通过智能技术生成

Java codeimport java.io.File;

import java.io.FileInputStream;

import java.io.FilenameFilter;

public class Rename {

/**

* @param args

*/

public static void main(String[] args) {

File file = new File("d:/aaa/"); //歌词存放路径

long start = System.currentTimeMillis();

File[] fList = file.listFiles(new FilenameFilter() { //过滤文件,只处理 lrc格式的

@Override

public boolean accept(File dir, String name) {

if (!name.endsWith(".lrc"))

return false;

return true;

}

});

byte[] buf = new byte[1000];

for (int i = 0; i < fList.length; i++) {

try {

FileInputStream fis = new FileInputStream(fList[i]);

int length = fis.read(buf, 0, buf.length); //将文件开头的1000个字节读入到buf里

fis.close();

String tmp = new String(buf, 0, length);

rename(fList[i], tmp); // 重命名

} catch (Exception e) {

System.out.println(e);

}

}

long usedTime = System.currentTimeMillis()-start;

System.out.println("用时:"+usedTime);

}

public static void rename(File file, String str) {

String fullname = "";

String artist = "";

String name = "";

if (-1 != str.indexOf("[ar:")) {

String tmp = str.substring(str.indexOf("[ar:"), str.length());

artist = tmp.substring(0, tmp.indexOf("]"))

.replaceAll("\\[ar:", "");

if (-1 != str.indexOf("[ti:")) {

String tmp2 = str.substring(str.indexOf("[ti:"), str.length());

name = tmp2.substring(0, tmp2.indexOf("]")).replaceAll(

"\\[ti:", "");

fullname = artist + " - " + name;

} else {

fullname = artist + " - 未知歌名";

}

} else {

if (-1 != str.indexOf("[ti:")) {

String tmp2 = str.substring(str.indexOf("[ti:"), str.length());

name = tmp2.substring(0, tmp2.indexOf("]")).replaceAll(

"\\[ti:", "");

fullname = "未知歌手 - " + name;

}

}

if (!"".equals(fullname)) {

file.renameTo(new File(file.getParent() + fullname + ".lrc"));

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值