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 version
45 3 1.0
45 3 1.1
46 0 1.2
47 0 1.3
48 0 1.4
49 0 1.5
50 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 correct
else if(major > 50) {
version = "1.7";
}
} finally {
if(in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return version;
}