java 解析MP3文件
首先需要知道的是,MP3文件的文件信息都放在文件最后的128个字节里面,这128个字节分别存储的信息如下:
char Header[3]; /* 标签头必须是"TAG"否则认为没有标签 */
char Title[30]; /* 标题 */
char Artist[30]; /* 作者 */
char Album[30]; /* 专集 */
char Year[4]; /* 出品年代 */
char Comment[28]; /* 备注 */
char reserve; /* 保留 */
char track;; /* 音轨 */
char Genre; /* 类型 */
代码:
public class ReadMP3 {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
String path = System.getProperty("user.dir")+"/images/wenbie.mp3";
readMp3ID3V1(path);
}
public static void readMp3ID3V1(String path) throws Exception{
byte[] buf = new byte[1024];
File file = new File(path);
FileInputStream fis = new FileInputStream(file);
/*---读取MP3文件尾部信息,并显示----*/
long size = file.length();
System.out.println("文件总字节数:"+size);
fis.skip(size-128);
//标志位TAG:3 byte
fis.read(buf,0,3);
String tag = new String(buf,0,3);
System.out.println( "ID3V1: "+tag);
//歌曲名称 30 byte
fis.read(buf,0,30);
String songname = new St
相关文档:
堆栈是一种先进后出的数据结构,只能在一端进行输入或输出数据的操作 Stack类在java.util包中
向栈中输入数据的操作称为“压栈”;而从栈中输出数据的操作称为“弹栈”
1.构造方法:Stack()
2.常用方法
public Object push(Object data):向栈中输入数据,实现压栈 ......
甲骨文已经完成了对SUN公司的收购,于1月27日发布了对Sun各项业务的整合规划。总体上说,Oracle要成为软硬件一体化的整体解决方案的厂商。 以下就其对备受关注的Java方面的策略做个介绍。
Java SE:
1)推出JDK SE 7, 它将包括多个新的功能,如提高开发人员的效率,提供高性能,对多核芯片的支持等。
2)Sun的HotSpot ......
记得第一次接触闭包的时候,觉得很奇怪,但从字面上很那理解闭包什么玩意,和闭包有的一比的当属控制反转,真正理解了后觉得就平常了。闭包二字其实是很经典的,闭包代码所表现的东西可不就是一个封闭的、自成一体的功能块吗?简单的说,闭包就是在内部定义的方法,拿到外面去使用。经典的javascript闭包形式如下:
Java代 ......
需要dom4j.jar文件 ,自行下载。 test.xml 1: <?xml version="1.0" encoding="gbk"?>
2:
3: <students>
4: <person sex="男" age="21">
5: <id>1</id>
6: <name>章治鹏</name>
7: <homepage&g ......
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
*
* @description 本程序实现了读取注册表分支:HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources到内存的操作
* @author:narsh
* @time 2010-2-8
*/
public class getRegToMemery {
publ ......