MP3信息是什么?
是存放在文件的最后128个byte,按照如下的格式记录。
private final String TAG = "TAG"; // 文件头1-3
private String songName; // 歌曲名4-33
private String artist; // 歌手名34-63
private String album; // 专辑名61-93
private String year; // 年94-97
private String comment; // 备注98-125
private byte r1, r2, r3; // 三个保留位126,127,128
private boolean valid; // 是否合法
public transient String fileName; // 此歌曲对应的文件名,没有封装
干什么?
把信息用java读出来
怎么干?
使用RandomAccessFile读取文件,
seek到最后128byte,
存放到数组,
使用String(byte[], setoff, size)读取字串个数
显示出来上一步的byte。
ok完工。
代码见我的工程。
后续问题:
中文的信息,在系统中显示乱码
解决办法:
1. 转换字符编码:byte b[]=str.getBytes; //先转换为字节数组
str=new String(b,"GBK"); //转换字符格式为GBK,以上代码再每次调用表单元素传来的值前都要使用
setCharacterEncoding()方法
2.
●优点:代码较方法1少
●缺点:每次使用前所传值前都需要用此方法转换,繁琐,容易产生代码冗余
●示例代码:
request.setCharacterEncoding("GBK");//首先设置request对象接收字符的编码方式为GBK
String str=request.getParameter("name"); //假设表单元素传来name的值为中文字符
3. 使用接口实现(略)