Как конфертировать из File в IFile в java, для файлов за пределами проекта? - PullRequest
23 голосов
/ 07 июня 2009

Обычно этот код используется для преобразования из File в IFile:

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

Но это работает только для Java-файлов в рамках проекта. Как я могу получить IFile, когда файл File не находится в рабочей области (не в проекте)?

Ответы [ 2 ]

9 голосов
/ 07 июня 2009

IResource и его дочерний элемент IFile изначально предназначались для использования только для ресурсов, расположенных в рабочей области. См. Javadoc для IResource .

Однако, поскольку Eclipse 3.3 также поддерживает внешние файлы, см. эту страницу Eclipse Wiki .

3 голосов
/ 18 ноября 2009

Мне это понадобилось для использования Binding Resolutions из платформы Eclipse AST. Но, видимо, это невозможно - для всех, кому это нужно, проверьте этот сайт:

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

...