国内出名网站建设设计公司,免费正能量励志网站,深圳定制巴士怎么买票,深圳网站开发公司哪家好本文实例讲述了java实现酷狗音乐临时缓存文件转换为MP3文件的方法。分享给大家供大家参考#xff0c;具体如下#xff1a;酷狗临时缓存文件#xff0c;其实已经是吧MP3文件下载好了#xff0c;只是名字看上去好像是通过md5算法重命名的。酷狗在缓存文件的时候会同时缓存歌词…本文实例讲述了java实现酷狗音乐临时缓存文件转换为MP3文件的方法。分享给大家供大家参考具体如下酷狗临时缓存文件其实已经是吧MP3文件下载好了只是名字看上去好像是通过md5算法重命名的。酷狗在缓存文件的时候会同时缓存歌词。这个程序就是根据md5管理对应的歌词文件和缓存文件然后把缓存文件改成 歌曲名.mp3格式。原谅我取这么长也不知道对不对的类名。package com.zhou.run;import java.io.File;import java.util.HashMap;import java.util.Map;public class KugouTempFileToMp3AndModifyNameToTrueName {public static String KGTEMP .kgtemp;public static String KRC krc;public void Change(String tempPath, String krcPath) {File temp new File(tempPath);File krc new File(krcPath);if (temp.exists() temp.getName().endsWith(KGTEMP)) {String filename temp.getName();String filemd5 filename.substring(0, filename.lastIndexOf(KGTEMP));if (!krc.exists())return;String krcname krc.getName();String krcmd5 krcname.substring(krcname.lastIndexOf(-) 1,krcname.lastIndexOf(KRC) - 1);String mp3name krcname.substring(0, krcname.lastIndexOf(-));if (krcmd5.equals(filemd5)) {String path temp.getPath().substring(0,temp.getPath().lastIndexOf(\\));File mp3File new File(path \\ mp3name .mp3);temp.renameTo(mp3File);}System.out.println(filename filemd5);System.out.println(krcname mp3name krcmd5);}}public void ChangeByDir(String tempPath,String krcPath){Map temps fileMd5Map(tempPath);Map mp3Names krcNameMd5Map(krcPath);for(String key :temps.keySet()){File f temps.get(key);if(f.exists()){String path f.getPath().substring(0,f.getPath().lastIndexOf(\\));String mp3Name mp3Names.get(key);File mp3File new File(path \\ mp3Name .mp3);if(f.renameTo(mp3File)){System.out.println(f.getName() to mp3File.getName());System.err.print( SUCCESS);}}}}public Map fileMd5Map(String path) {File dirFile new File(path);Map map null;if (dirFile.isDirectory()) {map new HashMap();for (File f : dirFile.listFiles()) {if (f.exists()f.isFile() f.getName().endsWith(KGTEMP)) {String filename f.getName();String filemd5 filename.substring(0,filename.lastIndexOf(KGTEMP));map.put(filemd5, f);}}}return map;}public Map krcNameMd5Map(String path){File dirFile new File(path);Map map null;if (dirFile.isDirectory()) {map new HashMap();for (File f : dirFile.listFiles()) {if (f.exists()f.isFile() f.getName().endsWith(KRC)) {String krcname f.getName();if(!krcname.contains(-))continue;String krcmd5 krcname.substring(krcname.lastIndexOf(-) 1,krcname.lastIndexOf(KRC) - 1);String mp3name krcname.substring(0, krcname.lastIndexOf(-));map.put(krcmd5, mp3name);}}}return map;}}public static void main(String[] args) {KugouTempFileToMp3AndModifyNameToTrueName ktf new KugouTempFileToMp3AndModifyNameToTrueName();/*String tempPath D:/KuGou/mp3/2fad259e357078e89404be12e1fd7ae3.kgtemp;String krcPath D:/KuGou/Lyric/周杰伦、袁咏琳 - 怎么了-2fad259e357078e89404be12e1fd7ae3.krc;ktf.Change(tempPath,krcPath);*/String tempDir D:/KuGou/mp3;String krcDirD:/KuGou/Lyric;ktf.ChangeByDir(tempDir, krcDir);}Change(string,string) 方法只是用来测试用的。调一下字符串之类的主要使用ChangeByDir方法参数是临时文件的文件夹和歌词文件的文件夹更多关于java算法相关内容感兴趣的读者可查看本站专题《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》希望本文所述对大家java程序设计有所帮助。