通过读取源(.java)文件获取类的java.lang.Class对象

时间:2014-03-22 07:40:48

标签: java jfilechooser java.lang.class

我想通过使用java.lang.Class阅读其源文件来获取class的{​​{1}}个对象。

实际上我希望通过使用FileReader选择其源文件来获取该类的所有methods, constructors, parent class, overridden methods and imported packages。所以,我认为我通过使用JFileChooser等类Class对象方法得到了所有这些东西。

我试过这个,但它给了getConstructors() ...

java.lang.ClassNotFoundException

1 个答案:

答案 0 :(得分:4)

从.class文件加载类,而不是.java文件。您有两种选择:

1)使用不同的API,例如AST解析,用于读取和理解.java文件(但不执行其中的代码)

2)以编程方式编译.java文件,然后读取.class文件。这是丑陋的,不稳定的,可怕的,充满警告,可能不是你想做的事。