java.lang.class.getResource

静态块,在项目启动的时候就执行,是主动执行的

静态方法,  是被动执行的,需要被调用才执行。 

static{

         try {
            String path = Config.class.getResource("/").toURI().getPath();
            is = new FileInputStream(path + "config.properties");
            properties = new Properties();
            properties.load(is);
        } catch (Exception e) {
            logger.error("系统配置文件”config.properties“未找到。");
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        System.out.println(TestClassResource.class.getResource(""));
        System.out.println(TestClassResource.class.getResource("/"));
        System.out.println(TestClassResource.class.getClassLoader().getResource(""));
    }

 file:/D:/WorkSpace/Tests/WebRoot/WEB-INF/classes/com/java/base/

file:/D:/WorkSpace/Tests/WebRoot/WEB-INF/classes/
file:/D:/WorkSpace/Tests/WebRoot/WEB-INF/classes/

 

Class.getResource("")    返回的是当前Class这个类所在包开始的为置

Class.getResource("/") 返回的是classpath的位置

getClassLoader().getResource("")  返回的是classpath的位置

getClassLoader().getResource("/")  错误的!! 

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。