RCP 得到圖片路徑

Class.getResourceAsStream ClassLoader.getResourceAsStream
這兩個方法仍是略有區別的, 之前一直不加以區分,直到今天發現要寫這樣的代碼的時候運行

錯誤, 才把這個問題澄清了一下。

基本上,兩個均可以用於從 classpath 裏面進行資源讀取,  classpath包含classpath中的路徑
classpath中的jar

兩個方法的區別是資源的定義不一樣, 一個主要用於相對與一個object取資源,而另外一個用於取相對於classpath

資源,用的是絕對路徑。

在使用Class.getResourceAsStream 時, 資源路徑有兩種方式, 一種以 / 開頭,則這樣的路徑是指定絕對
路徑, 若是不以 / 開頭, 則路徑是相對與這個class所在的包的。

在使用ClassLoader.getResourceAsStream時, 路徑直接使用相對於classpath的絕對路徑。


舉例,下面的三個語句,實際結果是同樣的:

   com.explorers.Test.class.getResourceAsStream("abc.jpg")
= com.explorers.Test.class.getResourceAsStream("/com/explorers/abc.jpg")
= ClassLoader.getResourceAsStream("com/explorers/abc.jpg")
java

 



已有 0 人發表留言,猛擊->>這裏<<-參與討論


JavaEye推薦
相關文章
相關標籤/搜索