我正在编写必须在osgi环境中执行的测试用例,我已将测试数据放在测试包中,这是一组文件。我能够使用bundle.getResource访问测试数据文件,它返回一个URL,我可以从中获取特定文件的InputStream,但是如何找到测试插件中特定文件夹中的所有文件列表。在eclispe中,我可以使用fileLocator来执行此操作。
/束
TESTDATA
此时就把one.txt存盘
two.txt
three.txt
文件夹1
FILE1.TXT
FILE2.TXT
在上面的软件包中,我想查找testdata文件夹中存在的所有文件和文件夹。
最好的答案,
凯沙夫
答案 0 :(得分:12)
如果您知道信息所在的包,请使用Bundle.findEntries或Bundle.getEntryPaths。
答案 1 :(得分:-5)
类加载器访问的资源(类,文件,流等)可以由一切提供。通常,资源是从JAR文件加载的。但它也可以是数据库,文件系统或HTTP资源。因此,为了获得资源列表,您需要依赖类加载器背后的源代码。如果资源位于JAR内部,您需要获取JAR本身并通过例如访问它来访问它。 java.util.zip。由于ClassLoader接口不提供有关后台源的信息,因此您必须采用其他方式(例如挂钩到您使用的OSGi框架中)。