简体   繁体   English

如何从.class文件中读取CtClass?

[英]How can I read CtClass from .class file?

I've got .class file. 我有.class文件。 I want to open it by javassist , add class annotation and save. 我想通过javassist打开它,添加类注释并保存。 How can I get CtClass instance from .class file? 如何从.class文件中获取CtClass实例?

ps. PS。 I don't know its dependencies / package / name 我不知道它的依赖/ package / name

To get the CtClass from a class file you can use the method ClassPool.makeClass . 要从类文件中获取CtClass ,可以使用方法ClassPool.makeClass This method takes as an argument an input stream from which it reads the class file. 此方法将输入流作为参数从中读取类文件。

import javassist.ClassPool;
import javassist.CtClass;

ClassPool pool = ClassPool.getDefault();
CtClass ctClass = pool.makeClass(new FileInputStream("pathTo\Test.class"));
System.out.println(ctClass);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM