1

我尝试在我的包中获取一个文件:

File file = new File(bundleContext.getBundle().
getResource("image/logo.jpg").toURI());

结果是 IllegalArgumentException,原因是“URI 方案不是“文件”。

这是合乎逻辑的,但是我应该如何使用这个 URL(bundle://28/image/logo.jpg)打开一个文件?

如果我使用常规的 ClassLoader,我会得到相同的结果。

编辑:

我的解决方案:

URL url = this.getClass().getClassLoader().getResource("image/logo.jpg");
InputStream in = new BufferedInputstream(url.openStream());
4

1 回答 1

1

您无法打开文件,因为可能没有文件......所以只需获取输入流即可。这适用于所有 URL/URI。

于 2013-03-20T15:00:27.833 回答