2013-03-20 89 views
1

我試圖讓一個文件在我的包帶:如何處理URL協議包://

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

的結果與原因的拋出:IllegalArgumentException「URI方案不是‘文件’

這是合乎邏輯的,但我應該如何打開一個文件,這個URL(包://28/image/logo.jpg)?

如果我用普通的ClassLoader我得到同樣的結果

編輯:

我的解決方案:

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

回答

1

您無法打開文件,因爲有可能不是一個文件......所以剛纔得到的輸入流來代替。這適用於所有URL/URI。

+0

這對我很有用。 – 2013-03-20 15:42:02