打印class文件的版本号

import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class ClassVersionChecker {
    public static void main(String[] args) throws IOException {
        System.out.println(System.getProperty("java.version"));
        String canonicalName = ClassVersionChecker.class.getCanonicalName();
        String classPathSeparate = "/";
        String extension = ".class";
        String path = ClassVersionChecker.class.getResource(classPathSeparate + canonicalName.replace(".", classPathSeparate) + extension).getPath();
        File file = new File(path);
        checkClassVersion(file);
    }

    private static void checkClassVersion(File classFile)
            throws IOException {
        DataInputStream in = new DataInputStream
                (new FileInputStream(classFile));

        int magic = in.readInt();
        if (magic != 0xcafebabe) {
            System.out.println(classFile.getName() + " is not a valid class!");
        }
        int minor = in.readUnsignedShort();
        int major = in.readUnsignedShort();
        System.out.println(classFile.getName() + ": " + major + " . " + minor);
        in.close();
    }
} 
JDK1.8:

1.8.0_65
ClassVersionChecker.class: 52 . 0
JDK1.6:

1.6.0_45
ClassVersionChecker.class: 50 . 0
时间: 2024-10-03 23:18:18

打印class文件的版本号的相关文章

Shell脚本递归打印指定文件夹中全部文件夹文件

#!/bin/bash #递归打印当前文件夹下的全部文件夹文件. PRINTF() { ls $1 | while read line #一次读取每一行放到line变量中 do [ -d $1/$line ] && { DIR="$1/$line" echo $DIR } DIR1=`dirname $DIR` #求路径. A=`ls -F $DIR1 | grep / | grep "\<$line\>"` #推断line是不是一个文件

打印Excel文件时如何不显示页眉和页脚

我们在制作EXCEL表格时,一般都会定义标题,但是在打印时,总是会出现页眉和页脚,打印出来影响美观,怎么办? 点击打印预览后,在页面设置的页眉页脚标签,里的页眉和页脚选择无,即可,如图. 打印Excel文件时如何不显示页眉和页脚,布布扣,bubuko.com

Print2Flash在线浏览打印pdf文件

原理:把 pdf 文件转换成 Flash 文件,再显示这个 Flash. 1 .安装print2flashsetup64.exe2.停止Print2Flash3服务(如果配置了服务并启动了的话)3.拷贝p2fServer.exe.Print2Flash.exe到安装目标文件夹替换原文件4.拷贝Print2FlashPrinter3_2.dll到以下文件夹替换原始文件: C:\Windows\System32\spool\drivers\x64\ 以及 C:\Windows\System32\sp

Java文件目录树状结构:控制台打印某个文件夹下的文件目录树状结构

1 package com.zhen.file; 2 3 import java.io.File; 4 5 /* 6 * 控制台打印某个文件夹下的文件目录树状结构 7 * 递归算法 8 */ 9 10 public class FileTree { 11 12 public static void main(String[] args) { 13 File file =new File("D:/Github/JavaTest"); 14 PrintFile(file, 0); 15 }

python不可以打印.doc文件

[背景] 需求: 打印word文件 模块: python-docx [问题] 传递xxx.doc文件给python脚本,执行后,控制台没有内容输出 经查询后了解到,大致理由: doc是早一代的word文件,封闭格式,office或wps是采用反破译去解析出来,但也不保证完美解析 python没有做解析doc文件的模块 [解决](目前只找到这一种) 利用 Linux下的antiword命令进行解析 使用: [ antiword + doc_file] 安装antiword: 1. 解压安装包 2.

java 打印pdf文件

依赖 compile group: 'org.apache.pdfbox', name: 'pdfbox', version: '2.0.3' // compile group: 'org.apache.pdfbox', name: 'pdfbox-app', version: '1.8.10' compile group: 'org.apache.pdfbox', name: 'fontbox', version: '1.5.0' 1. 生成pdf 文件 pdf 文件代码 public Map

maven 关于构建版本号,以及在构建的时候压缩css,js并为这些文件追加版本号

最近负责公司一个项目框架的搭建,由于我们这边是后端团队,没有专业的前端工程师支持我们,我就在这个搭建过程中遇到了一些前端问题,给大家分享一下. 主要分享点: 构建项目时自动在css,js文件名中加入版本号     解决新上线版本时,浏览器可以更新缓存 构建项目自动压缩css,js资源文件     加快响应速度 解决第一个问题,是在构建的时候必须生成一个构建版本号,比如构建时刻的timestamp,正好在网上看到这样的插件,配置信息如下 <plugin> <groupId>org.c

控制台上打印日志文件

必须依赖log4j   jar包. Log4j的配置文件,在配置文件中指定日志的输出.并且当web容器启动时,就会自动的加载log4j.properties文件. log4j.properties文件(一般不需要自己写): 1 log4j.rootLogger=DEBUG,A1 2 log4j.logger.org.mybatis = info 3 log4j.appender.A1=org.apache.log4j.ConsoleAppender 4 log4j.appender.A1.lay

javaWeb项目springMVC框架下利用ITextpdf 工具打印PDF文件的方法(打印表单、插入图片)

方法一:打印PDF表单以及在PDF中加入图片 需要的资料: jar包:iTextAsian.jar ,itext-2.1.7.jar: 源码: 1 public static void main(String args[]) throws IOException, DocumentException { 2 String fileName = "D:/testPDF.pdf"; // pdf模板 3 InputStream input = new FileInputStream(new