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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Unity使用fungus插件实现对话系统

    Unity使用fungus插件实现对话系统文章目录对话实现触碰 npc 产生对话条件对话带人物的对话分支对话对话实现 unity 商店下载并导入可以在这里点加号生成各种各样的命令比如说说话的实现就是在这里 随后运行游戏就有对话了在这里可以选择什么时候开始触发这段对话可以通过 button 的方式触发还有按键盘按键触发触碰 npc 产生对话选中摄像机 ctrl shift f 可以使得其对准当前 scene 的场景添加一个 NPC 为了防止人物穿过 NPC 可以给人物添加刚体为了防止人物倾倒可以锁定其 xyz 轴为了产生使其能在一

    2025年9月27日
    5
  • ubuntu远程桌面连接windows系统

    ubuntu远程桌面连接windows系统

    2020年11月8日
    194
  • 范冰:增长黑客入门训练营

    范冰:增长黑客入门训练营之前刚入门产品的时候,增长的概念已经很流行了,连着读了SeanEllis的《增长黑客:如何低成本实现爆发式成长》和范冰的《增长黑客:创业公司的用户与收入增长秘籍》以及相应的公开课,如果你不知道SeanEllis,那我觉得你应该认真花点时间去了解一下这位“增长黑客之父”了,之前已经分享过SeanEllis的公开课和关于这本书的读书笔记,比较开心的是无意中发现2019年《增长黑客:创业公司的用户与收入增长秘籍》的作者范冰就已经亲自开了这本增长黑客的课程,还是觉得好物不容错过!欢迎要资源,欢迎交流沟通过~

    2022年5月11日
    76
  • Java中常用的设计模式

    Java中常用的设计模式文章转载借鉴:http://blog.csdn.net/zhangerqing一、什么是设计模式设计模式(Designpattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块…

    2022年7月8日
    20
  • Redis的数据过期清除策略 与 内存淘汰策略

    Redis的数据过期清除策略 与 内存淘汰策略

    2021年4月10日
    140
  • kafka删除topic方式

    kafka删除topic方式工作中因为各种原因,topic中消息堆积的太多或者kafka所在磁盘空间满了等。可能需要彻底清理一下kafkatopic。cd/opt/kafka/kafka_2.10-0.10.2.2/bin列出所有topic:./kafka-topics.sh–zookeeperip:2181-list其实就是检查zk上节点的/brokers/topics子节点,打印出来。创建topic…

    2022年10月17日
    3

发表回复

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

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