【问题标题】:How to get fully qualified name of an IFile?如何获得 IFile 的完全限定名称?
【发布时间】:2015-05-17 07:37:33
【问题描述】:

我使用以下代码尝试获取 IFile 对象的完全限定名称。

private String getFullName(IFile file) {
   IJavaElement element = JavaCore.create(file);
      if (element instanceof IType) {
         return ((IType) element).getFullyQualifiedName().toString();
      } else {
         return new String(((CompilationUnit) element).getFileName());
      }
}

如果 IFile 对象是一个类,则该方法返回例如以下字符串:

/TestProject/src/testPackage.TestClass.java

我想要的是没有项目名称和 src 文件夹的完全限定名称。但是我怎样才能做到这一点呢?

我正在寻找的路径如下所示(包声明 + 类名):

testPackage.TestClass.java

【问题讨论】:

  • 所以你想要一个相对路径?

标签: java


【解决方案1】:

您可以使用 Java File 将完整路径解压缩到文件名中并删除目录

// assuming the above routine - getFullName
File fullNameAsFile = new File(getFullName(iFile));

String namePart = fullNameAsFile.getName();

【讨论】: