gpt4 book ai didi

java - 如何从 .java 文件中获取方法列表

转载 作者:行者123 更新时间:2023-11-29 05:13:09 24 4
gpt4 key购买 nike

我的 Java 程序中有一个 .java 文件的路径。我想获取 .java 文件中可用的方法列表。

例如,我在 'C:\temp\Foo.java' 有一个 .java 文件,如下所示:

class Foo{
public int add(int a, int b){ return a+b;}
public int sub(int a, int b){ return a-b;}
}

在我的程序中,我想获取方法名称addsub。是否有任何 java api 可以实现相同的目的?我知道对于 .class 文件,我们可以使用反射来实现它,但是 .java 文件有可能吗?

最佳答案

您可以使用 javaparser图书馆。

这是来自他们的 wiki 页面的示例代码:

public class MethodPrinter {

public static void main(String[] args) throws Exception {
// creates an input stream for the file to be parsed
FileInputStream in = new FileInputStream("test.java");

CompilationUnit cu;
try {
// parse the file
cu = JavaParser.parse(in);
} finally {
in.close();
}

// visit and print the methods names
new MethodVisitor().visit(cu, null);
}

/**
* Simple visitor implementation for visiting MethodDeclaration nodes.
*/
private static class MethodVisitor extends VoidVisitorAdapter {

@Override
public void visit(MethodDeclaration n, Object arg) {
// here you can access the attributes of the method.
// this method will be called for all methods in this
// CompilationUnit, including inner class methods
System.out.println(n.getName());
}
}
}

关于java - 如何从 .java 文件中获取方法列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27568798/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com