`
z610
  • 浏览: 37819 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

判断编译的class文件JDK版本号

    博客分类:
  • java
阅读更多

	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;
}
 
分享到:
评论

相关推荐

    decomp反编译工具

    超好用的反编译工具,支持class文件jdk版本号查看

    java反编译工具及eclipse插件

     3、将jad反编译工具jad.exe放到jdk安装路径的bin目录下面,jadclipse_3.1.0.jar放到eclipse的安装目录下的plugins目录下。  4、启动eclipse,打开:Window->Preferences->Java->JadClipse.  Path to ...

    jd_gui jad eclipse 反编译工具

     3、将jad反编译工具jad.exe放到jdk安装路径的bin目录下面,jadclipse_3.1.0.jar放到eclipse的安装目录下的plugins目录下。  4、启动eclipse,打开:Window->Preferences->Java->JadClipse.  Path to ...

    java jdk8 学习笔记

    9.java se development 8uN ,其中N是JDK更新版本号。 10.java安装时要理解这三个东西,安装是否成功输入java 命令测试一下工具是否可用。 11.java安装目录详解https://zhidao.baidu.com/question/181908777.html ...

    readyAPI1.41最新半破解版

    有源码,有class文件和jar文件. 没有完全破解. 其实soapui 4.5的破解文件通杀所有soapui和soapui ng(不包括readyapi,loadui...) 1,破解方法有多种(我只是修改了一些...readyapi中 soapui内部版本号为6.0,外部版本号为5.2

    Java反编译Jad大全:jad.1.5.8+net.sf.jadclipse_3.3.0+配置方法

    (二)在使用JadClipse插件反编译class文件时出现如下类似错误: /*jadclipse*/ /* DECOMPILATION REPORT Decompiled from: D:\Program Files\Java\jdk1.5.0_12\jre\lib\rt.jar Total time: 16 ms...

    JAVA学生管理系统

    现在就可以将StudentManager.jar拷贝到任何一个安装了java运行环境(jdk版本号须高于1.2.2)的计算机上,只要鼠标双击StudentManager.jar文件就可以运行该java应用程序了。 注意在装了WinRAR解压缩软件的机子上...

    第2章 Java语言开发环境(第7版),讲解Java的开发环境部署

    第2章 Java语言开发环境(第7版),讲解Java的开发环境部署。 1.安装JDK 安装JDK的同时会安装JRE ...打开运行窗口输入cmd回车,弹出窗口输入“javac -version”回车后弹出命令是javac+版本号那就证明环境配置成功了

    monkey环境搭建

    java -version 出现jdk版本号,ps:注意java和javac都是命令(动词),后面-version可理解为宾语,中间是有空格的,切记!!! 特别注意: 在 cmd 中,输入 set java_home命令可以看到jdk安装目录; set path ...

    Java课程设计案例精编:Java课程设计案例精编.ISO

    (5) 直接双击各章“打包发布”文件夹中的BAT文件即可运行相应章的案例程序(注意必须已安装JDK 1.5,并检查Path环境变量中应已经有JDK路径)。 (6) 也可以直接双击各章“打包发布”文件夹中的JAR文件来运行相应章的...

    soapui cookie处理方式

    改造源码使它支持 内含源码和class,在jdk8下编译 自己来编译(eclipse下新建一个工程,把soapUI的所有... 替换 soapui-****版本号*****.jar 中对应的class 理论支持所有版本 (readyAPI也支持 ready-api-soapui-***.jar)

    将java程序打包成可执行文件

    第5步 : 先别管上面的,先在下面单击绿色的“+”号,在弹出的窗口中点Archive,然后找到起初已经做好的 CAMP_fat.jar(详见1.3)文件,"OK"后返回,在下面的Class Path里就出现jar文件路径后,再在上面Main Class栏...

    exe4j_windows_4_4_6

    第5步,先别管上面的,先在下面单击绿色的“+”号,在弹出的窗口中点Archive,然后找到起初已经做好的CAMP_fat.jar(详见1.3)文件,"OK"后返回,在下面的Class Path里就出现jar文件路径后,再在上面Main Class栏内...

    maven的优缺点 项目

    建议不要写版本号,默认下载最新版本 --> <!-- 跳过测试 --> <groupId>org.apache.maven.plugins <artifactId>maven-surefire-plugin <!-- true表示跳过测试类 --> <skip>...

    新版Android开发教程.rar

    蓝牙 (class 1) ;四频 (850 , 900 , 1800 , 1900) ;支持 3G , 802.11b 和 802.11g 。----------------------------------- Android 编程基础 5 互联网 支持 HTTP 、 WAP Push 和 xHTML ;支持 POP 、 IMAP 、 ...

    java课程设计班级通讯录设计报告.doc

    系统运行环境为运行Windows,具有JDK1.7以上Java编译环境和Eclipse3.0以上Java 编辑环境,Navicat for MySQL。 3. 系统设计 1. 系统总体设计 进入系统后必须先进行登陆。登陆成功后,即可进入通讯簿主界面。在主...

    iuhyiuhkjh908u0980

    1) 手工安装 从这里下载你想要的版本,在任何你想的地方解开下载的zip文件,并复制ivy的jar文件到你的ant的lib目录(ANT_HOME/lib). 如果你使用ant 1.6.0或者更高,你可以简单的到src/example/hello-ivy 目录并运行...

    疯狂JAVA讲义

    1.4.1 安装JDK 8 学生提问:不是说JVM是运行Java程序的虚拟机吗?那JRE和JVM的关系是怎样的呢? 8 学生提问:为什么不安装公共JRE系统呢? 9 1.4.2 设置PATH环境变量 10 学生提问:为什么选择设置用户变量,用户...

    jdbc基础和参考

    从Jdk6.0以后要求,JDBC 4.0 Drivers 必须包括 META-INF/services/java.sql.Driver 文件,有了这个文件以后不需要在显示的使用Class.forName来进行驱动的注册 Oracle数据库进行连接的时候,使用的驱动类: 1....

Global site tag (gtag.js) - Google Analytics