Class 파일 컴파일 JDK 버전 검사
1745 단어 Class 파일
package com.goma.util;
import java.io.FileInputStream;
import java.util.HashMap;
import java.util.Map;
public class JavaVersionUtil {
private static Map<String, String> JDK_VERSION = null;
static{
JDK_VERSION = new HashMap<String, String>();
JDK_VERSION.put("50.0", "6.0");
JDK_VERSION.put("49.0", "5.0");
JDK_VERSION.put("46.0", "1.4");
JDK_VERSION.put("45.3", "1.3");
}
/**
* DESC: .class JAVA
* @param fileDir
* @return
* @throws Exception
*/
public static String getVersion(String fileDir) throws Exception {
FileInputStream fis = new FileInputStream(fileDir);//
int length = fis.available();//
byte[] data = new byte[length];//
fis.read(data);//
fis.close();//
int major_version = (((int) data[6]) << 8) + data[7];//
int minor_version = (((int) data[4]) << 8) + data[5];//
String version = major_version + "." + minor_version;
return version;
}
/**
* DESC: .class JDK
* @param fileDir
* @return
* @throws Exception
*/
public static String getJdkVersion(String fileDir) throws Exception{
String version = getVersion(fileDir);
return JDK_VERSION.get(version);
}
}