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,售后保障稳定

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

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

(0)
上一篇 2025年8月20日 下午11:22
下一篇 2025年8月21日 上午7:01


相关推荐

  • Java面试题总结:微服务、SpringBoot、SpringCloud

    Java面试题总结:微服务、SpringBoot、SpringCloud

    2021年6月11日
    115
  • linux系统使用实验报告操作系统,linux操作系统实验报告1.doc

    linux系统使用实验报告操作系统,linux操作系统实验报告1.doclinux 操作系统实验报告 1 doc 实验 LINUXSHELL 基本命令使用实验目的熟悉 LINUX 操作系统环境 掌握 LINUX 的基本命令 实验提示 1 LINUX 命令行的语法结构 COMMANDOPTIO 含义 LINUX 系统提示符 您的 LINUX 系统可能是其他的提示符 COMMANDLINUX 命令的名字 OPTIONS 改变命令行为的一个或

    2026年3月18日
    2
  • 解决 Server returns invalid timezone. Go to ‘Advanced’ tab and set ‘serverTimezone’ property manually

    解决 Server returns invalid timezone. Go to ‘Advanced’ tab and set ‘serverTimezone’ property manually报错连接 Mysql8 0 的时候 IDEA 出现的以下错误 这是时区的问题 Serverreturn Goto Advanced tabandset serverTimezo propertymanu 解决方案第一种 即到 Advanced 下填写时区参数 优点是 每种连接可以分时区填写 缺点是 每次都要填第二种 在数据库里修改时区 缺点是 修改之后 重启 mysql 服务后 time zone 会还原 showvariable

    2026年3月26日
    1
  • 腾讯文档 MCP 使用指南

    腾讯文档 MCP 使用指南

    2026年3月15日
    29
  • Flash基础知识

    http://www.cnblogs.com/sankye/articles/1638852.html向作者Sankye致敬【编写驱动之前要了解的知识】1.       硬件特性:【Flash的硬件实现机制】Flash全名叫做FlashMemory,属于非易失性存储设备(Non-volatileMemoryDevice)

    2022年4月5日
    37
  • js之防抖函数

    js之防抖函数防抖防抖原理事件响应函数在一段时间后才执行 如果这段时间内再次调用 则重新计算执行时间也就是说 在这个时间内 无论你怎么触发事件 我都不会执行 只有这段时间无操作后才会执行 例如 假如防抖设置为 3 秒第一次执行事件后 开始倒计时 3 秒然后等到还剩余 1 秒时 再次触发了事件重新倒计时 从三秒开始这样第一次到第二次触发事件就经历了 5 秒 极大的减轻了服务器的压力先来认识防抖函数的使用 防抖函数实际上已经封装好了 我们只需要用 cdn 引入就可以进行使用了 但是我们依然要明白其中的原理 D

    2026年3月17日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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