项目中,有时候要读取当前classpath下的一些配置文件,下面介绍下Class.getResourceAsStream和ClassLoader.getResourceAsStream两种方法以及两者的区别. 1. Class.getResourceAsStream 首先, 我们必须先了解根路径“/”是如何定义的,这对我们使用getResourceAsStream准确加载文件是很重要的. 首先,我们要明白这个根路径是对应类所处类路径上的根目录!什么意思呢?假如一个项目经过编译之后生成了如下cla…
这是个非常基础的问题了,这里提供一些演示样例,帮助高速理解和记忆这个问题. 在该方法的文档:http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getResourceAsStream%28java.lang.String%29 中具体有描写叙述了它接收的路径是怎样定义的! 本文原文出处: blog.csdn.net/bluishglc/article/details/38753047 严禁不论什么形式的转载,否则将托付CSD…
For Class.getResourceAsStream(String name), if the name parameter doesn't start with a "/", then it's a relative path to the class's package. If the name parameter starts with a "/", then it's an absolute path. For ClassLoader.getResou…
Class.getResourceAsStream() 会指定要加载的资源路径与当前类所在包的路径一致. 例如你写了一个MyTest类在包com.test.mycode 下,那么MyTest.class.getResourceAsStream("name") 会在com.test.mycode包下查找相应的资源. 如果这个name是以 '/' 开头的,那么就会从classpath的根路径下开始查找. ClassLoader.getResourceAsStream()  无论要查找的资源…
Class.getResourceAsStream(): com.xusweeter.iot.ws.vodafone.config.VodafoneServiceConfig.class.getResourceAsStream(VDF_CERT_NAME); 通过以上代码加载资源时:默认加载com.xusweeter.iot.ws.vodafone.config包下名称为VDF_CERT_NAME的资源,如果VDF_CERT_NAME以"/"开头,那么加载CLASSPATH根路径开始的…
工程目录结构: prj(工程根目录) cn json classloader GetResourceByClassAndClassLoader.Java beans.xml /** * */ package cn.json.classloader; import java.io.InputStream; /** * @author json * * @date 2014-5-7 * * @version 1.0 */ public class GetResourceByClassAndClass…
ClassLoader.getResourceAsStream(name);路径问题 InputStream in = getClass().getResourceAsStream('/'+"spring-beans.dtd"); 表示从classs目录下面的找文件,文件放在src下面就可以了. InputStream in = getClass().getResourceAsStream("spring-beans.dtd"); 表示从当前classs下面的路径找…
一直用一个方法安然无恙,今天在新项目中突然乱码了,原代码: ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); InputStream is = null; is = classLoader.getResourceAsStream("config/constant.properties"); if (is != null) { try { props.load(is); } 优化后: sta…
1.ClassLoader.getResourceAsStream() 与Class.getResourceAsStream()的区别 例如你写了一个MyTest类在包com.test.mycode 下,那么MyTest.class.getResourceAsStream("name") 会在com.test.mycode包下查找相应的资源.      如果这个name是以 '/' 开头的,那么就会从classpath的根路径下开始查找.       ClassLoader.getRe…
   Class.getResourceAsStream() 会指定要加载的资源路径与当前类所在包的路径一致. 例如你写了一个MyTest类在包com.test.mycode 下,那么MyTest.class.getResourceAsStream("name") 会在com.test.mycode包下查找相应的资源. 如果这个name是以 '/' 开头的,那么就会从classpath的根路径下开始查找.     ClassLoader.getResourceAsStream()  无…