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
提交
取消
