查看class编译所用的JDK版本

/*
 * 创建日期 2011-5-16
 *
 * TODO 要更改此生成的文件的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
package com.jdk.test;

import java.io.FileInputStream;


public class JavaVersionUtil {

    private static final String str = "F://work//problems//20110516//UtanBase//com//utanBase//comm//util//StringUtil.class";

//     版本号对应:
//     5.0
//     版本号(version):49.0
//     6.0
//     版本号(version):50.0
//     1.4
//     版本号(version):46.0
//     1.3
//     版本号(version):45.3

    public static void main(String args[]) {
       try {
        // 读取文件数据,文件是当前目录下的First.class
        FileInputStream fis = new FileInputStream(str); 
        // 文件数据
        byte[] data = new byte[20];
        // 读取文件到字节数组
        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);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值