问题描述
我正在运行一个Java项目,该项目将Java类字节码作为输入并对其执行许多操作。 我要执行的操作之一是要指定要从输入Java类中打印出来的行号。
为了澄清这一点,该方法应类似于:
public String getLine(int lineNumber){
String line = //here should be the code that takes the line number and return the line from the Java class
return line;
}
那有可能吗? 我已经搜索了很长时间,但是找不到解决方案。
1楼
您在执行此操作时遇到一些问题:
- 由于要读取字节码,因此只能打印出不是Java源代码的字节码!
- 大多数时候,一个Java源代码命令会编译为多个字节码命令。
- 如果要从中获取Java代码,则必须解析字节码命令并将其反编译。 但是,因此您必须知道您是atm的命令。 我看不到有什么办法。
您能指定更精确的方法吗?