class getResourceAsStream 和 classloader getResourceAsStream获取资源的不同

工程目录结构:

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 GetResourceByClassAndClassLoader {

/**
* class 获取资源是相对于当前class所在路径去获取
*
* classloader 是相对于classpath去获取相应的资源,采用绝对路径
*
* @param args
*/
public static void main(String[] args) {
GetResourceByClassAndClassLoader bean = new GetResourceByClassAndClassLoader();
InputStream is = bean.getClass().getResourceAsStream("../../../beans.xml");
if (is == null) {
System.out.println("resources not found!");
}
is = null;
is = bean.getClass().getResourceAsStream("/beans.xml");
if (is == null) {
System.out.println("resources not found!");
}
is = null;
is = bean.getClass().getClassLoader().getResourceAsStream("beans.xml");
if (is == null) {
System.out.println("resources not found!");
}
}
}

class getResourceAsStream 和 classloader
getResourceAsStream获取资源的不同

时间: 2024-10-09 06:33:37

class getResourceAsStream 和 classloader getResourceAsStream获取资源的不同的相关文章

对Class.getResourceAsStream和ClassLoader.getResourceAsStream方法所使用的资源路径的解释 (转)

对Class.getResourceAsStream和ClassLoader.getResourceAsStream方法所使用的资源路径的解释 标签: classgetResourceAsStreampath 2014-08-22 11:21 13675人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载. 这是个很基础的问题了,这里提供一些示例,帮助快速理解和记忆这个问题. 在该方法的文档:http://docs.oracle.com/javase/7/docs/

Class.getResourceAsStream()和ClassLoader.getResourceAsStream()

Edit Class.getResourceAsStream()和ClassLoader.getResourceAsStream() 注意三点: 1.用Class.getResourceAsStream() 时,路径应该是以"/"开头的,如: mypackage.Hello.class.getResourceAsStream("/config/config.ini"); 2.如果直接用ClassLoader.getResourceAsStream()不用以"

Class和ClassLoader.getResource获取资源

资源就是系统内.项目内的各种文件.在Java中获取可以用File类和Class.getResource获取资源,直观的说,File是依赖于文件系统和操作系统的,通过相对和绝对路径定位,使用File接口可以用于获取系统内任何路径下的普通文件.Class和ClassLoader可以用于获取项目环境中的资源,'环境中'的具体定义就是classpath.classpath相当于getResource参数的跟目录,ClassLoader.getResource是只能从这个根目录开始定位资源,Class.g

Class.getResourceAsStream() VS. ClassLoader.getResourceAsStream()

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和ClassLoader.getResourceAsStream方法

这是个很基础的问题了,这里提供一些示例,帮助快速理解和记忆这个问题. 在该方法的文档:http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getResourceAsStream%28java.lang.String%29 中详细有描述了它接收的路径是如何定义的! 本文原文出处: blog.csdn.net/bluishglc/article/details/38753047 严禁任何形式的转载,否则将委托CSDN官方维护权益

ClassLoader.getResourceAsStream(name); 获取配置文件的方法

ClassLoader.getResourceAsStream(name);路径问题 InputStream in = getClass().getResourceAsStream('/'+"spring-beans.dtd"); 表示从classs目录下面的找文件,文件放在src下面就可以了.InputStream in = getClass().getResourceAsStream("spring-beans.dtd"); 表示从当前classs下面的路径找文

ClassLoader.getResourceAsStream() 加载配置文件资源

JAVA 笔记 ClassLoader.getResourceAsStream() 与 Class.getResourceAsStream()的区别     Class.getResourceAsStream() 会指定要加载的资源路径与当前类所在包的路径一致. 例如你写了一个MyTest类在包com.test.mycode 下,那么MyTest.class.getResourceAsStream("name") 会在com.test.mycode包下查找相应的资源. 如果这个name

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

   Class.getResourceAsStream() 会指定要加载的资源路径与当前类所在包的路径一致. 例如你写了一个MyTest类在包com.test.mycode 下,那么MyTest.class.getResourceAsStream("name") 会在com.test.mycode包下查找相应的资源. 如果这个name是以 '/' 开头的,那么就会从classpath的根路径下开始查找. ClassLoader.getResourceAsStream()  无论要查找

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

package com.xinwei.util; import java.io.IOException; import java.io.InputStream; import java.util.Properties; public class PropertiesLoader { public static void main(String[] args) { // test1(); test2(); } //在使用Class.getResourceAsStream 时, 资源路径有两种方式,