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


相关推荐

  • java–dom4j「建议收藏」

    java–dom4j「建议收藏」packagecom.tes;importjava.io.File;importjava.util.List;importorg.dom4j.Document;importorg.d

    2022年7月1日
    30
  • Java面试官最爱问的volatile关键字[通俗易懂]

    Java面试官最爱问的volatile关键字[通俗易懂]在Java的面试当中,面试官最爱问的就是volatile关键字相关的问题。经过多次面试之后,你是否思考过,为什么他们那么爱问volatile关键字相关的问题?而对于你,如果作为面试官,是否也会考虑采用volatile关键字作为切入点呢?为什么爱问volatile关键字爱问volatile关键字的面试官,大多数情况下都是有一定功底的,因为volatile作为切入点,往底层走可以切入Java内存模…

    2022年7月27日
    5
  • 体验了一把线上CPU100%及应用OOM的排查和解决过程

    点击上方☝,轻松关注!及时获取有趣有料的技术文章“下面是我遇到的问题,以及一些简单的排查思路,如有不对的地方,欢迎留言讨论。如果你已经遇到 InMemoryReporterMetrics…

    2022年3月1日
    51
  • yourphp常用标签

    yourphp常用标签

    2021年10月9日
    77
  • copy与deepcopy_java clone 深拷贝

    copy与deepcopy_java clone 深拷贝说到复制方法,在开发程序中要怎么复制呢?其实复制Java数组的方法很多,但大多数都是浅层复制,今天爱站技术频道小编带你寻找详解JAVA深层拷贝DeepCopy的使用方式。方法实现很简单,提供两种方式:一种是序列化成数据流,前提是所有对象(对象中包含的对象…)都需要继承Serializable接口,如果都继承了那很容易,如果没有继承,而且也不打算修改所有类,可以用第二种方式。第二种是将对象序…

    2022年10月2日
    1
  • mpvue还能用吗(mpvue的性能问题)

    在newvue()的时候不能加入store,否则在App.vue文件中onLaunch(){}失效正确的使用姿势:importstorefrom’@/store’Vue.prototype.$store=store

    2022年4月14日
    58

发表回复

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

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