【发布时间】:2012-04-16 00:57:36
【问题描述】:
我正在开发一个需要检索 java 文件的路径/文件名的插件。
我编写的代码成功检索了 xml 或清单文件的文件名/路径,但无法检索包中 Java 文件的路径。
我使用的代码是:-
if (selection instanceof IStructuredSelection)
{
Object o = ((IStructuredSelection) selection).getFirstElement();
if (o instanceof IFile)
{
IPath loc = ((IFile) o).getLocation();
if (loc != null)
{
selectedFile = loc.toOSString();
}
else
selectedFile = "Error at loc";
}
else
selectedFile = "Error at O";
}
【问题讨论】:
-
“无法”到底是什么意思?
-
它显示了文件的正确路径。 bt 对于 java 文件,它显示“ERROR AT O”。
-
如果它不是
IFile的实现者,那么调试和检查o实际上是什么类型呢? -
我确实尝试过检查,虽然我无法做出相同的判断,但我应该寻找什么??
-
好吧,您可能正在寻找由您实际获得的类(或其超类之一)实现的接口,从我在网络上找到的内容来看,您最终应该到达
ICompilationUnit(看我的回答)。