获取类路径下的资源
Posted caozx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取类路径下的资源相关的知识,希望对你有一定的参考价值。
对于JavaWeb而言,获取类路径下的资源,就是获取classes目录下的资源。
获取资源的方式有两种,利用Class或ClassLoader。
Class类的getResourceAsStream(String path):
- 路径以“/”开头,相对classes路径;
- 路径不以“/”开头,相对当前class文件所有路径;
ClassLoader类的getResourceAsStream(String path):
- 相对classes路径;
下面是我的目录结构:
代码:
package com.inspur.test;
public class Test {
public static void main(String[] args) {
ClassLoader cl = Test.class.getClassLoader();
//相对classes的路径
System.out.println(cl.getResource("1.properties").getPath());
System.out.println(cl.getResource("com/inspur/test/2.properties").getPath());
Class<?> c = Test.class;
//不以‘/‘开头,相对当前文件所在的路径,即Test.java所在的路径,/com/inspur/test/
System.out.println(c.getResource("2.properties").getPath());
//以‘/‘开头,相对classes的路径
System.out.println(c.getResource("/com/inspur/test/2.properties").getPath());
}
}
结果:
以上是关于获取类路径下的资源的主要内容,如果未能解决你的问题,请参考以下文章
spring boot 打jar包,获取resource路径下的文件