1. 程式人生 > >Class.getResource()的資源路徑問題

Class.getResource()的資源路徑問題

在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. 注意

  1. Class.getResource()Class.getResourceAsStream()在使用時,資源路徑問題一樣。

5. 參考資料

關於Class.getResource和ClassLoader.getResource的路徑問題