2013-06-18 4 views
1

У меня есть собственный пакет OSGI, в котором есть папка внутри с некоторыми ресурсами. Как прочитать эту папку из пакета и получить от нее всех детей?Как получить папку из пакета OSGI?

я до следующего кода .:

Bundle bundle = Platform.getBundle(bundleID); 
    URL fileURL = bundle.getEntry(templatePath); 
    URL url = FileLocator.resolve(fileURL); 

Этот код workd утилиты Я экспортируемые приложение Eclipse, как продукт Eclipse.

Но у меня есть URL-адрес не иерархический excepiton.

ответ

2

Вы можете использовать метод findEntries на Bundle для поиска файлов в пачке и все подключенные к нему фрагменты:

Bundle bundle = Platform.getBundle(bundleID); 
Enumeration<URL> urls = bundle.findEntries("/folder", "*", false); 
+0

Hi Nick. У меня есть аналогичная проблема [** ЗДЕСЬ **: * Как скопировать каталог ресурсов и все включенные файлы и подпапки в Jar в другой каталог *] (http://stackoverflow.com/questions/36400436/how- к копии-а-ресурс-каталог-и-все включено-файлы-и-подпапок-в-банке). Как я могу перейти к копированию каталога ресурсов из пакета OSGi в другой каталог? Как я могу реализовать вариант, который вы дали здесь с этой целью? Я буду очень благодарен, если вы сможете помочь. Заранее спасибо. –

1

Вы должны написать свой код в терминах InputStreams и использовать метод, предложенный @NickWilson, чтобы получить вход потоков и использовать их в вашей программе.

Но если вам действительно нужно, что папка взорвалась на диске где-то, вы должны использовать org.eclipse.core.runtime.FileLocator.toFileURL (URL) вместо решимостью (URL).

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