Поиск файлов и папок в OSGI Bundle - PullRequest
5 голосов
/ 15 сентября 2010

Я пишу тестовые случаи, которые должны быть выполнены в среде OSGI, я поместил тестовые данные, которые представляют собой набор файлов в тестовом комплекте. Я могу получить доступ к файлам тестовых данных, используя bundle.getResource, который возвращает URL-адрес, по которому я могу получить InputStream для конкретного файла, но как мне найти весь список файлов в определенной папке в тестовом плагине. В eclispe я мог бы использовать fileLocator для этого.

/ комплект
TestData
one.txt
two.txt
three.txt
folder1
file1.txt
file2.txt

В приведенном выше пакете я хочу найти все файлы и папки, которые присутствуют в папке testdata.


С наилучшими пожеланиями,
Кешав

Ответы [ 2 ]

12 голосов
/ 15 сентября 2010

Если вы знаете, в каком пакете находится информация, используйте Bundle.findEntries или Bundle.getEntryPaths.

0 голосов
/ 15 сентября 2010

Ресурсы (классы, файлы, потоки и т. Д.), Доступные для загрузчика классов, могут быть предоставлены всем.Обычно ресурсы загружаются из файла JAR.Но это также может быть база данных, файловая система или ресурс HTTP.Таким образом, чтобы получить список ресурсов, вы зависите от источника за загрузчиком классов.В случае, если ресурсы находятся внутри JAR, вам нужно получить сам JAR и получить к нему доступ, например, через java.util.zip.Поскольку интерфейс ClassLoader не предоставляет информацию об исходном коде, вам нужно пойти другим путем (например, подключиться к используемой платформе OSGi).

...