是否可以打印出正在运行的行式Java类

时间:2019-02-21 11:37:34

标签: java

我正在运行一个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 个答案:

答案 0 :(得分:1)

您在执行此操作时遇到一些问题:

  • 由于要读取字节码,因此只能打印出不是Java源代码的字节码!
  • 大多数时候,一个Java源代码命令会编译为多个字节码命令。
  • 如果要从中获取Java代码,则必须解析字节码命令并反编译它们。但是,因此您必须知道您是atm的命令。我看不到有什么办法。

您能指定更精确的方法吗?