判断编译的class文件JDK版本号
public static void main(String[] args) {try {String filename = "/home/xxx/apps/eclipse/workspace/Test/bin/com/ibm/plugin/test/MyChecker.class";DataInputStream in = new DataInputStream(new FileInputStream(filename));int magic = in.readInt();if (magic != 0xcafebabe) {System.out.println(filename + "is not a valid class!");}int minor = in.readUnsignedShort();int major = in.readUnsignedShort();System.out.println(filename + ":" + major + "." + minor);in.close();} catch (IOException e) {e.printStackTrace();}String version = null;DataInputStream in = null;try {tring filename = "/home/zhujt/apps/eclipse/workspace/Test/bin/com/ibm/plugin/test/MyChecker.class"; in = new DataInputStream(new FileInputStream(filename));int magic = in.readInt();if (magic != 0xcafebabe) {throw new IllegalArgumentException("Wrong file format.");}int minor = in.readUnsignedShort();int major = in.readUnsignedShort();/*major minor version45 3 1.045 3 1.146 0 1.247 0 1.348 0 1.449 0 1.550 0 1.6*/if(major == 45 && minor == 3) {version = "1.1";} else if(major == 46) {version = "1.2";} else if(major == 47) {version = "1.3";} else if(major == 48) {version = "1.4";} else if(major == 49) {version = "1.5";} else if(major == 50) {version = "1.6";} // Just for future use, it is not correctelse if(major > 50) {version = "1.7";}} finally {if(in != null) {try {in.close();} catch (IOException e) {e.printStackTrace();}}}return version;}?