本文实例讲述了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 krcDir="D:/KuGou/Lyric";

ktf.ChangeByDir(tempDir, krcDir);

}

Change(string,string) 方法只是用来测试用的。调一下字符串之类的

主要使用ChangeByDir方法,参数是临时文件的文件夹和歌词文件的文件夹

希望本文所述对大家java程序设计有所帮助。

java 缓存文件_java实现酷狗音乐临时缓存文件转换为MP3文件的方法相关推荐

  1. java接收的文件转换成临时文件,java实现酷狗音乐临时缓存文件转换为MP3文件的方法...

    这篇文章主要介绍了java实现酷狗音乐临时缓存文件转换为MP3文件的方法,涉及java针对文件操作的相关技巧,需要的朋友可以参考下 本文实例讲述了java实现酷狗音乐临时缓存文件转换为MP3文件的方法 ...

  2. 酷狗账号登陆服务器繁忙,酷狗音乐账号无法登陆如何解决?账号无法登陆原因及解决方法介绍...

    酷狗音乐是一款当前炙手可热的听歌工具.我们如果用账号登录,还可以收藏和保存自己喜欢听的音乐等等,然而有时候我们会遇到酷狗帐号登录不了的情况,下面小编就帮大家分析下酷狗帐号登录不了的各种情况及原因,然后 ...

  3. 酷狗音乐速配一直显示服务器维护,酷狗音乐速配聊天在哪里进 酷狗音乐速配聊天玩法介绍...

    酷狗是中国领先的数字音乐交互服务提供商,在酷狗音乐中,听.看.唱功能的分工各有不同,在听的板块中以海量曲库为基石,看的板块中以直播功能为主,唱的板块联动了音乐短视频和自制音乐节目.其中在听的板块有一个 ...

  4. 为什么酷狗音乐消息中心不可以服务器,手机酷狗音乐怎么设置好友消息免打扰?...

    手机酷狗音乐怎么设置好友消息免打扰? 腾讯视频/爱奇艺/优酷/外卖 充值4折起 酷狗音乐是迄今为止最强大,最多人使用的音乐软件,而在酷狗音乐经常收到某好友的消息?不想跟TA聊天,但是太烦人?可以设置好 ...

  5. Java爬虫系列之实战:爬取酷狗音乐网 TOP500 的歌曲(附源码)

    在前面分享的两篇随笔中分别介绍了HttpClient和Jsoup以及简单的代码案例: Java爬虫系列二:使用HttpClient抓取页面HTML Java爬虫系列三:使用Jsoup解析HTML 今天 ...

  6. java 爬取网页版的酷狗音乐,下载到本地

    代码实现 import cn.hutool.http.HttpUtil; import com.alibaba.fastjson.JSONObject; import lombok.extern.sl ...

  7. java仿酷狗音乐源码_【附项目源码】仿酷狗音乐客户端,浅淡动感歌词补充

    原标题:[附项目源码]仿酷狗音乐客户端,浅淡动感歌词补充 1.前言 之前写了几篇关于动感歌词的简单介绍,相信大家还有印象,这里就不多说了,这篇要说的是,关于翻译歌词和音译歌词,以及我在解析和显示这两种 ...

  8. 4步实现Java爬取酷狗音乐,so easy。

    jar包:包括:jsoup.HttpClient.net.sf.json大家可以自行去下载 1.分析是否能获得TOP500歌单 首先,打开酷狗首页查看酷狗TOP500, 是真的只让看这些还是能找到其余 ...

  9. 酷狗音乐的大数据实践

    2015-06-03 王劲 高可用架构 高可用架构 此文是根据酷狗音乐大数据架构师王劲在[QCON高可用架构群]中的分享内容整理而成,转发请注明出处. 王劲:目前就职酷狗音乐,大数据架构师,负责酷狗大 ...

  10. python爬虫实战之逆向分析酷狗音乐

    文章目录 前言 一.请求分析 二.逆向思路 三.全部代码 总结 前言 声明:本文章只是用于学习逆向知识,仅供学习,未经作者同意禁止转载 对于爬虫而言,不管是什么类型的都会遵循这几个步骤 获取目标url ...

最新文章

  1. AI将成科学家“高级定制”工具
  2. 二叉树的中序遍历(递归和非递归版本)
  3. DirectX9 SDK 下载、安装、VC++开发环境配置、跑通第一个例子
  4. 浮点数在内存中的存储方式
  5. mysql事务模式怎么查_Mysql InnoDB中的查询事务模式与锁定select ..for update
  6. qq浏览器网页翻译_iOS 14中直接在Safari浏览器中翻译网页的方法!
  7. 【吃炸弹的鸽子UVA10765-双联通模板】
  8. 矩阵平均路径长度_Android自定义View-路径动画
  9. ubuntu 如何卸载qt_UBuntu14.04下安装和卸载Qt5.3.1
  10. Ora-01008错误:oracle 并非所有变量都已绑定的原因
  11. Ctfmon.exe是什么进程?
  12. EnableViewState详细分析
  13. Windows 更新 升级 8007003错误 800tb109错误 文件没有正确签名 很难确定你的电脑能否运行win10【解决方法】
  14. Python练手项目:计算机自动还原魔方(5)最后一步
  15. 电商3D展示360全景展示可以突出产品优势
  16. python 白噪声检验 结果-时间序列 平稳性检验 白噪声 峰度 偏度
  17. Python入门基础篇 No.8 —— 时间的表示_unix时间点_毫秒_time模块
  18. 微信小程序中文本框添加空格
  19. BIOS入门基础------与BMC通信(IPMI)
  20. 品三国、论国产RISC-V芯片天下大势

热门文章

  1. numpy矢量化运算
  2. Ubunut 下安装teamview
  3. 计算机硬盘被配制成动态磁盘。在这种情况下无法进行重装?,动态磁盘转换为基本磁盘(完美解决方案)...
  4. 微信小程序中字符串转JSON
  5. elasticsearch报错java.lang.IllegalStateException: failed to obtain node locks, tried [[/usr/local/elas
  6. h5支付java_对接微信H5支付(Java)
  7. Python 源码混淆与加密
  8. 使用CLion的C语言开发环境配置
  9. CPU .......TensorFlow binary was not compiled to use: AVX AVX2
  10. html表头固定原理,html Table 表头固定的实现