1 回答

MMMHUHU
TA貢獻1834條經驗 獲得超8個贊
jar 也是類裝載器的一個可訪問媒介,ClassLoader 提供了兩個方法用于從裝載的類路徑中取得資源:
public URL getResource(String name);
public InputStream getResourceAsStream(String name);
這里 name 是資源的類路徑,它是相對與 “/” 根路徑下的位置。 getResource 得到的是一個 URL 對象來定位資源,而getResourceAsStream 取得該資源輸入流的引用保證程序可以從正確的位置抽取數據。
真正使用的不是 ClassLoader 的這兩個方法,而是 Class 的 getResource 和 getResourceAsStream 方法,因為 Class 對象可以從你的類得到(如 YourClass.class 或 YourClass.getClass() ),而 ClassLoader 則需要再調用一次YourClass.getClassLoader() 方法,但根據 JDK 文檔的說法, Class 對象的這兩個方法其實是 “ 委托 ” ( delegate )給裝載它的 ClassLoader 來做的,所以只需要使用 Class 對象的這兩個方法就可以了。
添加回答
舉報
0/150
提交
取消