java 缓存文件_java实现酷狗音乐临时缓存文件转换为MP3文件的方法
本文实例讲述了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文件的方法相关推荐
- java接收的文件转换成临时文件,java实现酷狗音乐临时缓存文件转换为MP3文件的方法...
这篇文章主要介绍了java实现酷狗音乐临时缓存文件转换为MP3文件的方法,涉及java针对文件操作的相关技巧,需要的朋友可以参考下 本文实例讲述了java实现酷狗音乐临时缓存文件转换为MP3文件的方法 ...
- 酷狗账号登陆服务器繁忙,酷狗音乐账号无法登陆如何解决?账号无法登陆原因及解决方法介绍...
酷狗音乐是一款当前炙手可热的听歌工具.我们如果用账号登录,还可以收藏和保存自己喜欢听的音乐等等,然而有时候我们会遇到酷狗帐号登录不了的情况,下面小编就帮大家分析下酷狗帐号登录不了的各种情况及原因,然后 ...
- 酷狗音乐速配一直显示服务器维护,酷狗音乐速配聊天在哪里进 酷狗音乐速配聊天玩法介绍...
酷狗是中国领先的数字音乐交互服务提供商,在酷狗音乐中,听.看.唱功能的分工各有不同,在听的板块中以海量曲库为基石,看的板块中以直播功能为主,唱的板块联动了音乐短视频和自制音乐节目.其中在听的板块有一个 ...
- 为什么酷狗音乐消息中心不可以服务器,手机酷狗音乐怎么设置好友消息免打扰?...
手机酷狗音乐怎么设置好友消息免打扰? 腾讯视频/爱奇艺/优酷/外卖 充值4折起 酷狗音乐是迄今为止最强大,最多人使用的音乐软件,而在酷狗音乐经常收到某好友的消息?不想跟TA聊天,但是太烦人?可以设置好 ...
- Java爬虫系列之实战:爬取酷狗音乐网 TOP500 的歌曲(附源码)
在前面分享的两篇随笔中分别介绍了HttpClient和Jsoup以及简单的代码案例: Java爬虫系列二:使用HttpClient抓取页面HTML Java爬虫系列三:使用Jsoup解析HTML 今天 ...
- java 爬取网页版的酷狗音乐,下载到本地
代码实现 import cn.hutool.http.HttpUtil; import com.alibaba.fastjson.JSONObject; import lombok.extern.sl ...
- java仿酷狗音乐源码_【附项目源码】仿酷狗音乐客户端,浅淡动感歌词补充
原标题:[附项目源码]仿酷狗音乐客户端,浅淡动感歌词补充 1.前言 之前写了几篇关于动感歌词的简单介绍,相信大家还有印象,这里就不多说了,这篇要说的是,关于翻译歌词和音译歌词,以及我在解析和显示这两种 ...
- 4步实现Java爬取酷狗音乐,so easy。
jar包:包括:jsoup.HttpClient.net.sf.json大家可以自行去下载 1.分析是否能获得TOP500歌单 首先,打开酷狗首页查看酷狗TOP500, 是真的只让看这些还是能找到其余 ...
- 酷狗音乐的大数据实践
2015-06-03 王劲 高可用架构 高可用架构 此文是根据酷狗音乐大数据架构师王劲在[QCON高可用架构群]中的分享内容整理而成,转发请注明出处. 王劲:目前就职酷狗音乐,大数据架构师,负责酷狗大 ...
- python爬虫实战之逆向分析酷狗音乐
文章目录 前言 一.请求分析 二.逆向思路 三.全部代码 总结 前言 声明:本文章只是用于学习逆向知识,仅供学习,未经作者同意禁止转载 对于爬虫而言,不管是什么类型的都会遵循这几个步骤 获取目标url ...
最新文章
- AI将成科学家“高级定制”工具
- 二叉树的中序遍历(递归和非递归版本)
- DirectX9 SDK 下载、安装、VC++开发环境配置、跑通第一个例子
- 浮点数在内存中的存储方式
- mysql事务模式怎么查_Mysql InnoDB中的查询事务模式与锁定select ..for update
- qq浏览器网页翻译_iOS 14中直接在Safari浏览器中翻译网页的方法!
- 【吃炸弹的鸽子UVA10765-双联通模板】
- 矩阵平均路径长度_Android自定义View-路径动画
- ubuntu 如何卸载qt_UBuntu14.04下安装和卸载Qt5.3.1
- Ora-01008错误:oracle 并非所有变量都已绑定的原因
- Ctfmon.exe是什么进程?
- EnableViewState详细分析
- Windows 更新 升级 8007003错误 800tb109错误 文件没有正确签名 很难确定你的电脑能否运行win10【解决方法】
- Python练手项目:计算机自动还原魔方(5)最后一步
- 电商3D展示360全景展示可以突出产品优势
- python 白噪声检验 结果-时间序列 平稳性检验 白噪声 峰度 偏度
- Python入门基础篇 No.8 —— 时间的表示_unix时间点_毫秒_time模块
- 微信小程序中文本框添加空格
- BIOS入门基础------与BMC通信(IPMI)
- 品三国、论国产RISC-V芯片天下大势
热门文章
- numpy矢量化运算
- Ubunut 下安装teamview
- 计算机硬盘被配制成动态磁盘。在这种情况下无法进行重装?,动态磁盘转换为基本磁盘(完美解决方案)...
- 微信小程序中字符串转JSON
- elasticsearch报错java.lang.IllegalStateException: failed to obtain node locks, tried [[/usr/local/elas
- h5支付java_对接微信H5支付(Java)
- Python 源码混淆与加密
- 使用CLion的C语言开发环境配置
- CPU .......TensorFlow binary was not compiled to use: AVX AVX2
- html表头固定原理,html Table 表头固定的实现