LRC格式转换

LRC格式转换[code="java"]importjava.io.BufferedReader;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.io.InputStreamReader;importjava.util.Co…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Collection;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;

public class LrcFilter {

/**
* @param args
*/
String LrcPath = "//home//henyue//lrc.txt";
String[] line;
String[] time;
Map<Double, String> m = new TreeMap<Double, String>();

public static void main(String[] args) {
// TODO Auto-generated method stub
LrcFilter lf = new LrcFilter();
lf.scan();
lf.listAll();
// lf.listTime();
// System.out.println("\n");
// lf.listLrc();
}

// 读入LRC文件,并将时间与歌词分别存入TreeMap的键值对中
public void scan() {
FileInputStream fis;
try {
fis = new FileInputStream(LrcPath);
BufferedReader br = null;
br = new BufferedReader(new InputStreamReader(fis));
String data;
while ((data = br.readLine()) != null) {

line = data.substring(1).split("]");
time = line[0].split(":");
double i = 0;
double d = Double.parseDouble(time[0]) * 60
+ Double.parseDouble(time[1]) + i;
// 最后的数字i为校正值
if (line.length > 1) {
m.put(d, line[1]);
} else {
m.put(d, " ");
}
}
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public void listAll(){
Set<Double> mTime = m.keySet();
for (Double dm : mTime) {
System.out.printf("%6.2f - %s\n",dm , m.get(dm));
}
}

public void listTime() {
Set<Double> mTime = m.keySet();
for (Double dm : mTime) {
System.out.print(dm + ", ");
}
}

public void listLrc() {
Collection<String> mLrc = m.values();
for (String sm : mLrc) {
System.out.print("\"" + sm + "\",");
}
}

}

Jetbrains全家桶1年46,售后保障稳定

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/200815.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Okio源码分析

    Okio源码分析【参考资料】拆轮子系列:拆Okio

  • iframe 标签属性解读[通俗易懂]

    iframe元素会创建包含另外一个文档的内联框架(即行内框架)转载于:https://www.cnblogs.com/qiaduan/p/10238655.html

  • 第三方微信授权登录APP接入_使用第三方应用打开是什么意思

    第三方微信授权登录APP接入_使用第三方应用打开是什么意思准备工作在微信开放平台 https://open.weixin.qq.com/ 注册成为开发者,具体步骤略微信登录接入微信登录遵循协议Aouth2.0中的授权码模式我们来看

  • 15种手机游戏引擎和开发工具介绍

    15种手机游戏引擎和开发工具介绍工欲善其事,必先利其器。对移动游戏开发者来说,高效实用的开发工具必不可少。近日,英国著名产业杂志《Develop》刊出了一篇文章,作者艾伦·李在文中推荐了15种移动游戏开发工具,从游戏引擎,到音效制作、推广等工具都有涉及。以下为原文主要内容编译。引擎和移动开发工具包Marmalade简介:Marmalade被很多人认为是跨平台制作C++游戏的最佳平台。通过MarmaladeSDK,开发者可以在单一的Marmalade项目文件夹中打开Xcode或VisualStudio,将

  • 大数据Hadoop生态圈介绍

    大数据Hadoop生态圈介绍大数据Hadoop生态圈-组件介绍Hadoop是目前应用最为广泛的分布式大数据处理框架,其具备可靠、高效、可伸缩等特点。Hadoop的核心组件是HDFS、MapReduce。随着处理任务不同,各种组件相继出现,丰富Hadoop生态圈,目前生态圈结构大致如图所示:根据服务对象和层次分为:数据来源层、数据传输层、数据存储层、资源管理层、数据计算层、任务调度层、业务…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号