Jenny Smith
Jenny Smith

Reputation: 3017

How to convert from File to IFile in java, for files outside the project?

Normally, this code is used for converting from File to IFile:

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

But this only works for java files within the project. How can I get the IFile when File file is not in the workspace (not in the project)?

Upvotes: 26

Views: 24796

Answers (2)

Zsolt Török
Zsolt Török

Reputation: 10439

IResource and its child IFile were originally meant to be used only for resources located in the workspace. See the Javadoc for IResource.

However, since Eclipse 3.3 there is support for external files as well, see this Eclipse Wiki page.

Upvotes: 11

Jenny Smith
Jenny Smith

Reputation: 3017

I needed this for using the Binding Resolutions from the Eclipse AST framework. But apparently, this is not possible - for anyone who need it, check this site:

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

Upvotes: 3

Related Questions