Android初探(一)关于LRC文件解析
2013-04-17 20:46
197 查看
关于LRC文件的解析大概总结如下:
获取LRC文件
得到输入流
使用正则表达式,逐行解析,生成HashMap或自定义格式
获取LRC文件
得到输入流
使用正则表达式,逐行解析,生成HashMap或自定义格式
packagedaodao.FileReader; importjava.io.BufferedReader; importjava.io.IOException; importjava.io.InputStream; importjava.io.InputStreamReader; importjava.util.regex.Matcher; importjava.util.regex.Pattern; importandroid.R.string; importdaodao.Models.LrcModel; importdaodao.Models.LrcModelList; /** *@authoryedaodao *LRC解析类 */ publicclassLrcReader{ privatestaticLrcReaderinstance=null; privateLrcModelListlmlist; /** *得到对象实例 */ publicstaticLrcReadergetInstance() { if(instance==null) instance=newLrcReader(); returninstance; } /** *获取LRC文件流 *@paramiStream *@throwsIOException */ publicvoidgetLrc(InputStreamiStream)throwsIOException { InputStreamReaderiStreamReader=newInputStreamReader(iStream); BufferedReaderreader=newBufferedReader(iStreamReader); lmlist=newLrcModelList(); Stringline=null; while((line=reader.readLine())!=null){ parseLine(line); } } /** *逐行解析,将结果存入自定义的LrcModel中 *@paramline */ publicvoidparseLine(Stringline) { Stringreg="\\[(\\d{2}:\\d{2}\\.\\d{2})\\]"; Patternpattern=Pattern.compile(reg); Matchermatcher=pattern.matcher(line); while(matcher.find()){ Stringtime=matcher.group(); LrcModellModel=newLrcModel(); lModel.setCurrentTime(parseTime(time)); lModel.setCurrentContent(line.substring(time.length())); lmlist.addEle(lModel); } } /** *解析时间,转换为毫秒格式 *@paramtime *@return */ publicIntegerparseTime(Stringtime) { Stringtemp=time.substring(1,time.length()-1); String[]s=temp.split(":"); intmin=Integer.parseInt(s[0]); String[]ss=s[1].split("\\."); intsec=Integer.parseInt(ss[0]); intmill=Integer.parseInt(ss[1]); returnmin*60*1000+sec*1000+mill*10; } publicStringgetLrcContent() { returnlmlist.getContent(); } }
相关文章推荐
- C语言 解析lrc歌词文件
- 关于把解析SQL文件和把解析的结果导入Excel中
- android开发--mp3播放器项目源代码(xml文件解析,.lrc,.mp3文件下载,同时显示歌词)
- ListView 关于Adapter 本地文件中解析json数据完整例子
- 关于VS2013优化后MFC中对文件读取失败的解析(debug下可以,release下失败)
- 关于Win32层的文件系统解析引擎的一点想法
- 关于MP4文件格式解析
- Qt学习--关于Qt项目中.pro文件解析
- c#解析Lrc歌词文件
- MP3制作之LRC歌词文件解析(附:源代码)
- android关于AndroidManifest.xml详细分析 清单文件解析
- 关于新的man版本出现“无法解析 /usr/share/man/zh_CN/man1/ls.1.gz: 没有那个文件或目录“
- 关于webpack项目的一些文件用途解析
- 关于oracle os认证和口令文件认证的简要解析
- 关于MP4文件格式解析
- C语言 LRC歌词文件解析
- 关于3D框架rajawali对obj文件的解析和贴图方法!!!
- 关于spring框架头文件解析和两种模板
- 关于信息检索-倒排文件系统架构解析
- [置顶] C语言解析lrc文件