如何从Java中的文件转换为IFile,用于项目外部的文件?

2022-09-01 19:29:06

通常,此代码用于从 转换为 :FileIFile

IWorkspace workspace= ResourcesPlugin.getWorkspace();    
IPath location= Path.fromOSString(file.getAbsolutePath()); 
IFile ifile= workspace.getRoot().getFileForLocation(location);

但这仅适用于项目中的java文件。如何获取 when 文件不在工作区中(不在项目中)?IFileFile


答案 1

IResource其子项最初仅用于位于工作区中的资源。请参阅 Javadoc for IResourceIFile

但是,由于 Eclipse 3.3 也支持外部文件,请参阅此 Eclipse Wiki 页面


答案 2

我需要这个来使用Eclipse AST框架中的绑定分辨率。但显然,这是不可能的 - 对于任何需要它的人,请查看此站点:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=206391


推荐