2016-10-17 3 views
0

У нас есть плагин, который экспортируется в продукт RCP. В плагине есть папка с несколькими файлами. Как я могу обращаться к подключаемым файлам в определенной папке в Eclipse программно?Как получить доступ к файлам-членам и папкам подключаемого модуля в Eclipse

ответ

2

Используйте класс org.eclipse.core.runtime.FileLocator для доступа к файлам в плагине.

Bundle bundle = ... bundle containing the files 

IPath path = new Path("relative path in plug-in of the file"); 

URL url = FileLocator.find(bundle, path, null); 

URL fileUrl = FileLocator.toFileURL(url); 

The url возвращаемого метод FileLocator.find использует конкретную схему Eclipse, и может быть использован только с определенным API-интерфейсами Eclipse.

Звонок FileLocator.toFileURL преобразует URL в обычный URL-адрес file, для этого может потребоваться распаковать флэшку для подключения к временному местоположению.

Вы можете получить Bundle с помощью

Bundle bundle = FrameworkUtil.getBundle(getClass()); 

который получает пакет, содержащий текущий класс или

Bundle bundle = Platform.getBundle("plugin id"); 

для доступа к свертку плагин в ид.

+0

Платформа:/плагин Что касается этого решения FileLocator приводит к тому, что файл находится в папке «Файловая система» не в плагине. –

+0

мужчина Это сработало! Я использовал новый файл (fileUrl.toURI()), после чего он стал файлом. –

+0

Как я могу сгенерировать файл из этого. fileUrl.toURI не удалось из-за ошибки eclipse # 145096 Не удалось, когда в имени папки есть пробел. –

 Смежные вопросы

  • Нет связанных вопросов^_^