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

Jen*_*ith 24 java eclipse workspace

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

IWorkspace workspace= ResourcesPlugin.getWorkspace();    
IPath location= Path.fromOSString(file.getAbsolutePath()); 
IFile ifile= workspace.getRoot().getFileForLocation(location);
Run Code Online (Sandbox Code Playgroud)

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

Zso*_*rök 9

IResource它的孩子IFile最初只是用于工作区中的资源.请参阅Javadoc for IResource.

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


Jen*_*ith 3

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

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