Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取方法的类文件的绝对路径_Java_Eclipse_Methods_Path - Fatal编程技术网

Java 获取方法的类文件的绝对路径

Java 获取方法的类文件的绝对路径,java,eclipse,methods,path,Java,Eclipse,Methods,Path,我有一个代码示例,它浏览我的工作区并选择每个类中的每个方法。 我的意图是打印出该方法的绝对路径,但我不知道如何实现它 类似于method.getAbsolutePath()的内容不存在 我的代码: IPackageFragment[] packages = javaProject.getPackageFragments(); for (IPackageFragment mypackage : packages) { for (ICompilationUnit unit : mypacka

我有一个代码示例,它浏览我的工作区并选择每个类中的每个方法。 我的意图是打印出该方法的绝对路径,但我不知道如何实现它

类似于
method.getAbsolutePath()
的内容不存在

我的代码:

IPackageFragment[] packages = javaProject.getPackageFragments();
for (IPackageFragment mypackage : packages) {
    for (ICompilationUnit unit : mypackage.getCompilationUnits()) {
        IType[] allTypes = unit.getAllTypes();
        for (IType type : allTypes) {
            IMethod[] methods = type.getMethods();
            for (IMethod method : methods) {
                //System.out.println(MyMethodPath);
                //here is want to print the path
            }
        }
    } 
}

有人可以帮忙吗?

您可以使用获取类,然后可以使用或更多方法获取绝对路径:

System.out.println(method.getClassFile().getPath().toString());

我想这就是你需要的,当然不要评论我:

System.getProperty ("user.dir");

所以是否要打印完整的包名,然后是类,然后是方法名?不要混淆:我要打印出方法所在的类的路径。出于某种原因,这对我来说总是返回null。不幸的是,对于我工作空间中的每个方法,这都会打印出eclipse的路径,但不会打印出我工作空间中类的路径。