我有一个表示byte[]
的{{1}},现在我想转换成一个表示字节码的字符串(类似于HelloWorld.class
)?我想以编程方式执行此操作。
简单地说,我想从
javap -c HelloWorld.class
至byte[]
代表String
和
字节码javap -c HelloWorld.class
返回到String
注意:所有操作均以编程方式完成,所以我不想通过命令行调用任何内容
可以打开任何知名的标准库,例如asm或bytebuddy。
答案 0 :(得分:0)
使用ASM,尝试在类的ClassReader
表示形式上创建byte[]
,然后调用ClassReader.accept()
,并提供TraceClassVisitor
作为ClassVisitor
参数。
(未经测试。我们使用了大多数这些组件,但没有完全结合使用。)