|
|
转自:http://www.cnblogs.com/gladto/archive/2011/03/12/1982247.html
import java.io.FileInputStream;public class CheckClassVersion {private static final String str = "D:/temp/sky/GongNeng.class";// 版本号对应:// 1.3// 版本号(version):45.3// 1.4// 版本号(version):46.0// 5.0// 版本号(version):49.0// 6.0// 版本号(version):50.0public static void main(String args[]) {try {// 读取文件数据,文件是当前目录下的First.classFileInputStream fis = new FileInputStream(str);int length = fis.available();// 文件数据byte[] data = new byte[length];// 读取文件到字节数组fis.read(data);// 关闭文件fis.close();// 解析文件数据parseFile(data);} catch (Exception e) {System.out.println(e);}}private static void parseFile(byte[] data) {// 输出魔数System.out.print("魔数(magic):0x");System.out.print(Integer.toHexString(data[0]).substring(6).toUpperCase());System.out.print(Integer.toHexString(data[1]).substring(6).toUpperCase());System.out.print(Integer.toHexString(data[2]).substring(6).toUpperCase());System.out.println(Integer.toHexString(data[3]).substring(6).toUpperCase());// 主版本号和次版本号码int minor_version = (((int) data[4]) << 8) + data[5];int major_version = (((int) data[6]) << 8) + data[7];System.out.println("版本号(version):" + major_version + "." + minor_version);}} |
|