首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 獲取專案檔案路徑的三種常用方法

     編輯:Java 相關知識

在 Java 專案中,正確獲取資源檔案的絕對路徑是常見需求。本文整理三種透過 Class.getResource() 取得路徑的方法,適用於不同場景。

方法一:獲取 Classpath 根目錄

this.getClass().getResource("/").getPath().substring(1)
// 結果範例:E:/myeclipse/test/WebRoot/WEB-INF/classes/

適用於讀取專案根目錄下的配置檔(如 application.properties)。

方法二:獲取當前類所在包的絕對路徑

this.getClass().getResource("").getPath().substring(1)
// 結果範例:E:/myeclipse/test/WebRoot/WEB-INF/classes/net/hncu/db/

適用於讀取與當前類同目錄下的資源檔。

方法三:同方法二(替代寫法)

this.getClass().getResource(".").getPath().substring(1)
// 結果與方法二相同

注意事項

  • getPath() 回傳的路徑前綴帶有 /,需用 substring(1) 移除(Windows 環境)
  • 路徑分隔符在 Windows 為 \,Linux/Mac 為 /,建議使用 File.separator 處理跨平台相容
  • 打包成 JAR 後,getResource() 回傳 jar:file:... 格式,需改用 getResourceAsStream() 讀取流
  • Web 專案建議使用 ServletContext.getRealPath() 獲取實體路徑

最佳實踐建議

// 跨平台、支援 JAR 打包的通用寫法
InputStream is = this.getClass().getResourceAsStream("/config.properties");
Properties props = new Properties();
props.load(is);
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved