使用ClassLoader的getResource方法的时候,永远是以Classpath为直接起点开始寻找资源的。不用担心从什么包开始寻找的问题。
用Class.getResource不加/就是从当前包开始找,用ClassLoader.getResource不加/就是直接从Classpath的起点开始寻找。
当然,如果你觉得有困难,你定位资源的时候全部都使用/开头的方式就好了。
在使用Class.getResourceAsStream 时,资源路径有两种方式,一种以/开头,则这样的路径是指定绝对路径,如果不以/开头,则路径是相对与这个class所在的包的.在使用ClassLoader.getResourceAsStream时, 路径直接使用相对于classpath的绝对路径.
三条简洁说明:
1 class.getResource("/")是从classpath开始寻找资源文件
2 class.getResource("")是从当前包开始寻找资源文件
3 classLoader.getResource("")是从classpath开始寻找资源文件
例子可以参见:http://www.cnblogs.com/xdp-gacl/p/3640211.html