Class.getResourceAsStream()与ClassLoader.getResourceAsStream()的区别

Posted penghq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Class.getResourceAsStream()与ClassLoader.getResourceAsStream()的区别相关的知识,希望对你有一定的参考价值。

Class.getResourceAsStream() 会指定要加载的资源路径与当前类所在包的路径一致。

     例如你写了一个MyTest类在包com.test.mycode 下,那么MyTest.class.getResourceAsStream("name") 会在com.test.mycode包下查找相应的资源。

     如果这个name是以 ‘/‘ 开头的,那么就会从classpath的根路径下开始查找。

  
 ClassLoader.getResourceAsStream()  无论要查找的资源前面是否带‘/‘ 都会从classpath的根路径下查找。

    所以: MyTest.getClassLoader().getResourceAsStream("name") 和

            MyTest.getClassLoader().getResourceAsStream("name") 的效果是一样的。

以上是关于Class.getResourceAsStream()与ClassLoader.getResourceAsStream()的区别的主要内容,如果未能解决你的问题,请参考以下文章

JAVA 笔记 ClassLoader.getResourceAsStream() 与 Class.getResourceAsStream()的区别

this.class.getClassLoader().getResourceAsStream与this.class.getResourceAsStream

ClassLoader.getResourceAsStream() 与 Class.getResourceAsStream()的区别

Class.getResourceAsStream和ClassLoader.getResourceAsStream方法

Java .class.getResourceAsStream()

className.class.getResourceAsStream与ClassLoader.getSystemResourceAsStream区别