前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LRC格式转换

LRC格式转换

作者头像
全栈程序员站长
发布2022-11-01 15:43:43
1.3K0
发布2022-11-01 15:43:43
举报
文章被收录于专栏:全栈程序员必看
代码语言:javascript
复制
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 + "\",");
		}
	}

}

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月22日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档