在Java中,使用Class.getResource()获取资源时,经常会遇到读取资源文件时的路径问题。
1. 项目结构
2. Class.getResource(String path)
说明
//path不以"/"开头:当前类所在的包目录
//path以"/"开头:class path,即当前项目
System.out.println(Main.class.getResource("")); //file:/F:/workspaces/java_workspaces/SSM/test/out/production/test/com/zijikanwa/
System.out.println(Main.class.getResource("/")); //file:/F:/workspaces/java_workspaces/SSM/test/out/production/test/
3. 读取test1~test3.properties文件
public class Main {
public static void main(String[] args) {
//读取test1.properties文件
System.out.println(Main.class.getResource("company/test1.properties"));
//读取test2.properties文件
System.out.println(Main.class.getResource("test2.properties"));
//读取test3.properties文件
System.out.println(Main.class.getResource("/com/test3.properties"));
}
}
4. 注意
Class.getResource()
和Class.getResourceAsStream()
在使用时,资源路径问题一样。