对于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()); } }
结果:
原文地址:https://www.cnblogs.com/caozx/p/9399901.html
时间: 2024-09-30 17:58:04