1.Class.getResourceAsStream(String path):以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。 path 不以’/'开头时默认是从此类所在的包下取资源。
2. Class.getClassLoader.getResourceAsStream(String path) :默认则是从ClassPath根下获取,path不能以’/'开头,最终是由ClassLoader获取资源。
三种写法 (前两种是Class.getResourceAsStream(String path),后面是Class.getClassLoader.getResourceAsStream(String path) ) 第一:前面有 “ / ” “ / ”代表了工程的根目录,例如工程名叫做myproject,“ / ”代表了myproject me.class.getResourceAsStream("/com/x/file/myfile.xml"); 第二:前面没有 “ / ” 代表当前类的目录 me.class.getResourceAsStream("myfile.xml"); me.class.getResourceAsStream("file/myfile.xml");
第三:使用getClassLoader(db.properties在classpath目录下)
输出了正确的123
当然也可以换成第一种写法,我都亲自试了一下
也输出了正确的123
转载请注明原文地址: https://ju.6miu.com/read-6326.html