(转)查看class被什么版本jdk编译
转自:http://www.cnblogs.com/gladto/archive/2011/03/12/1982247.htmlimport 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;// 读取文件到字节数组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).substring(6).toUpperCase());System.out.print(Integer.toHexString(data).substring(6).toUpperCase());System.out.print(Integer.toHexString(data).substring(6).toUpperCase());System.out.println(Integer.toHexString(data).substring(6).toUpperCase());// 主版本号和次版本号码int minor_version = (((int) data) << 8) + data;int major_version = (((int) data) << 8) + data;System.out.println("版本号(version):" + major_version + "." + minor_version);}}
页:
[1]