Class.getResource()的資源路徑問題
阿新 • • 發佈:2019-01-04
在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()
在使用時,資源路徑問題一樣。