联系方式

站长:
联系人:赵先生
手机:18183869808

QQ 64816414
保健茶:

联系人:罗小姐

电话:15368244381

QQ 834856496

JAVA基础之如何从.class文件中寻找类名
发布者:findallove 类型:杂器快贴 发布时间:2018-4-21 22:04:19 浏览:2645次 [回复]
  Java规范规定了如何查看一个class文件。存储在class文件一开始的一个值就是以Java内部分割符“/”为格式的完整的类明。

  下面的代码返回了文件C:\code\hacks\research\com\generationjava\Hack.class的内部类名com/generationjava/Hack,读者可以进一步编写代码将“/”转换成“.”:

   static final public int MAGIC = 0xCAFEBABE;
  // 传递C:\code\hacks\research\com\generationjava\Hack.class

  // 假定存在这样一个类

  public String getFullyQualifiedName(String filename) throws IOException {

  String name = null;

  try {

  DataInputStream in = new

  DataInputStream(new FileInputStream(filename));

  if(in.readInt() != MAGIC) {

  // 不是一个.class文件

  thrownew IOException("Not a class file");

  }

  in.readUnsignedShort();// 次版本号

  in.readUnsignedShort();// 主版本号

  in.readUnsignedShort();// 长度

  in.readByte();// CLASS=7

  in.readUnsignedShort();// 忽略这个地方

  in.readByte();// UTF8=1

  name =in.readUTF();//类的名字!!!

  in.close();

  } catch(IOException ioe) {

  ioe.printStackTrace();

  }

  return name;

  }

  当你直接从.class文件中获得类的信息的时候,就简化了开发。查找一个匿名.class类文件的完整的类名是任何基于.class文件工作的应用的重要部件。
源地址:http://www.zaqi.net/word_view.asp?files_id=2908
上一篇:对java两个IO基础类的理解
下一篇:Vector和ArrayList哪一个更好
零售:¥46元
特价:¥30元
批发:¥30元
零售:¥46元
特价:¥1元
零售:¥138元
滇ICP备09066549号 2006-2016 杂器网络版权所有  免责声明