class 가 어떤 버 전 jdk 로 컴 파일 되 었 는 지 보기

1748 단어 jdkhtml
다음으로 이동:
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.0
	public static void main(String args[]) {
		try {
			//       ,         First.class
			FileInputStream 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);
	}
}


좋은 웹페이지 즐겨찾기