展开全部

以随机读写方式打开一个MP3文件

将文件指针偏移量移动到文件长度倒数128位

判断标签头"TAG"是否存在

读取62616964757a686964616fe78988e69d8331333363356538TAG_V1中的各个内容

关闭文件

TAG_V1(长度是固定的)其中包括的信息有:

标签头"TAG"    3字节

标题            30字节

作者            30字节

专辑            30字节

出品年份        4字节

备注信息        28字节

保留            1字节

音轨            1字节

类型            1字节

读入一个MP3文件的TAG_V1部分信息:byte buf = new byte[128];//初始化标签信息的byte数组

RandomAccessFile raf = new RandomAccessFile(mp3, "r");//随机读写方式打开MP3文件

raf.seek(raf.length() - 128);//移动到文件MP3末尾

raf.read(buf);//读取标签信息

raf.close();//关闭文件

if(buf.length != 128){//数据长度是否合法

throw new Exception("MP3标签信息数据长度不合法!");

}

if(!"TAG".equalsIgnoreCase(new String(buf,0,3))){//标签头是否存在

throw new Exception("MP3标签信息数据格式不正确!");

}

获得TAG_V1中的各个内容:

String SongName = new String(buf,3,30,"utf-8").trim();//歌曲名称

String Artist = new String(buf,33,30,"utf-8").trim();//歌手名字

String Album = new String(buf,63,30,"utf-8").trim();//专辑名称

String Year = new String(buf,93,4,"utf-8").trim();//出品年份

String Comment = new String(buf,97,28,"utf-8").trim();//备注信息

java mp3 信息_如何用Java读取MP3文件的Tag信息相关推荐

  1. java读取dcm影像文件_使用dcmtk库读取.dcm文件并获取信息+使用OpenCV显示图像

    借助VS2013和OpenCV的绘图功能,在工程DICOMReader.sln中实现了对单张.dcm图像的读取与显示,以下是详细步骤. 前期准备工作 编译器:VS2013 库:dcmtk-3.6.0( ...

  2. java 网络爬虫_如何用Java实现网络爬虫

    原标题:如何用Java实现网络爬虫 微信公众号"书圈"后台回复[Javapachong1],下载本例的PPT和源码 作品描述 本章作品是一个能够抓取指定网站ACM比赛信息的爬虫.A ...

  3. java 判断手机号_如何用java判断手机号运营商?

    如何用java实现判断手机号的运营商?因为每个号段都是工信部规定划分给指定运营商的,所以我们可以通过手机号码的号段来判断. 现在手机号的号段那么多,要怎样方便的的判断呢?于是我们就想到了正则表达式,在 ...

  4. 文件比较 java 标红_如何用java输出word里红色的字体,

    展开全部 java读取word文件,并输出红色字体,主要采用的是开62616964757a686964616fe78988e69d8331333337613737源的读取框架,例如Jword,示例如下 ...

  5. java html提取_如何用JAVA从HTML源代码中提取有用的文本信息?

    如将连接中的流读取出来方法:/** * 将网页上的数据流转成字符串 * * @param url * @return * @throws IOError */ public String getSou ...

  6. java 字符串 加密_如何用JAVA实现字符串简单加密解密?

    展开全部 java加密字符串可以使用des加密算法62616964757a686964616fe4b893e5b19e31333363376462,实例如下: package test; import ...

  7. java 字符串加密_如何用JAVA实现字符串简单加密解密?

    展开全部 java加密字符串可以使用des加密算法,实例如62616964757a686964616fe59b9ee7ad9431333337616636下: package test; import ...

  8. python java 爬数据_如何用java爬虫爬取网页上的数据

    当我们使用浏览器处理网页的时候,有时候是不需要浏览的,例如使用PhantomJS适用于无头浏览器,进行爬取网页数据操作.最近在进行java爬虫学习的小伙伴们有没有想过如何爬取js生成的网络页面吗?别急 ...

  9. java编写正则表达式_如何用Java编写最快的表达式评估器之一

    java编写正则表达式 当然,标题有点吸引人,但确实如此(您当然不相信自己没有伪造自己的基准,但这是另一回事了). 因此,上周我正在寻找一个小型且可用的库来评估数学表达式. 我几乎直接偶然发现了这个s ...

最新文章

  1. JAVA IDEA集成geotools gt-mif gdal读取.MIF
  2. treeselect 如何选中多个_word使用技巧之-如何让你工作效率翻倍提升
  3. 模拟器中文输入法设置
  4. 解决错误: Failed to load class “org.slf4j.impl.StaticLoggerBinder“
  5. 30 多年的软件经验,总结出 10 个编写出更好代码的技巧
  6. java putall实现,Java EnumMap putAll()
  7. jsch 移动服务器上文件,jsch上传文件到服务器
  8. div和div之间画横线_HTML如何在两个div标签中间画一条竖线
  9. linux下elasticsearch的安装
  10. 28岁的李佳琪落户上海了
  11. asp.net后台cs 和 JavaScript 互相调用方法
  12. Vert.x 之 HelloWorld
  13. [翻译] ios-image-filters
  14. Julia: Beginning deep learning with 500 lines of Julia
  15. BZOJ3190[JLOI2013] 赛车
  16. 方波峰峰值和有效值_峰峰值,峰值,平均值,有效值的关系.pdf
  17. ELMO驱动器与nanotec电机通过compser软件调试PID参数的方式
  18. 使用 Nginx 实现 URL 的重定向
  19. mysql远程主机强迫关闭了_HAProxy出现远程主机强迫关闭了一个现有的连接 的错误及解决...
  20. 爬虫基本概念(新手必看)

热门文章

  1. 如何进行大数据可视化分析
  2. 数据可视化工具的特点有哪些
  3. 如何对第三方数据进行大数据分析
  4. vue 自定义指令_vue 自定义指令
  5. 主动变被动9个例句_小管理,大智慧——激发团队变被动为主动的奥秘
  6. AcWing 837. 连通块中点的数量
  7. Spark创建临时视图
  8. Spark内核解析之四:Spark 任务调度机制
  9. 01-HTML基础与进阶-day4-录像250
  10. ElementUI文档中忽略的内容补充