首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Java class.getResourceAsStream跟ClassLoader.getResourceAsStream区别

2012-08-27 
Java class.getResourceAsStream和ClassLoader.getResourceAsStream区别它们都是去取classpath下的资源,但

Java class.getResourceAsStream和ClassLoader.getResourceAsStream区别

它们都是去取classpath下的资源,但它们在路径上有一些区别:

1、Class.getResourceAsStream如果在没有"/"开头的情况下是去相对于此class文件开始进行查询的,如:如果有一个com.elliot.A.class的类文件,如果用A.class.getResourceAsStream("test.xml"),其是去A.class包下即com/elliot/下去查找test.xml文件的。但如果其以A.class.getResourceAsStream("/test.xml"),就是从classpath的绝对路径去查找test.xml文件的,也就是和包com同级下去查找文件。

2、ClassLoader.getResourceAsStream方式是从classpath的绝对路径开始去查询资源的,其开头不能加"/",其效果和Class.getResourceAsStream以"/"等同。

热点排行