六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 75|回复: 0

(转)查看class被什么版本jdk编译

[复制链接]

升级  90.33%

143

主题

143

主题

143

主题

举人

Rank: 3Rank: 3

积分
471
 楼主| 发表于 2013-2-7 16:05:49 | 显示全部楼层 |阅读模式
转自: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);}}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表