我想从包资源管理器中检索所选java文件的路径/文件名

我正在开发一个需要检索java文件的路径/文件名的插件。

我编写的代码成功检索了xml或manifest文件的文件名/路径,但无法检索包中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"; } 

以下是eclipse论坛的主题: http : //www.eclipse.org/forums/index.php/mv/msg/162556/

看起来Java源文件资源没有实现IFile而是ICompilationUnit ,所以测试一下。

感谢GUYZ,我很乐意用你的帮助来解决问题

解决方案是 –

Object o =((IStructuredSelection)selection).getFirstElement();

den IPath loc =((ICompilationUnit)o).getPath();

den selectedFile = loc.toOSString();

有了这个,您将能够获得您选择的java文件的路径。 而且,这显示了从项目名称开始的路径名,有人可以告诉如何获得整个物理路径名,驱动器等等。