如何在java中将文件转换为IFile,用于项目外的文件?

时间:2009-06-06 22:54:16

标签: java eclipse workspace

通常,此代码用于从File转换为IFile

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

但这仅适用于项目中的java文件。当IFile文件不在工作区(不在项目中)时,如何获取File

2 个答案:

答案 0 :(得分:9)

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

但是,由于Eclipse 3.3也支持外部文件,请参阅this Eclipse Wiki page

答案 1 :(得分:3)

我需要这个来使用Eclipse AST框架的Binding Resolutions。但显然,这是不可能的 - 对于任何需要它的人,请查看此网站:

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