先贊後看,此生必賺!
1. this.getClass().getResource("/").getPath();如果不加“/”,則獲取當前類的目錄
2. file.getCanonicalPath().getPath();
3. this.getClass().getClassLoader();
4. System.getProperty("user.dir");
5. System.getProperty("java.class.path").split(";")[0];
6. Thread.currentThread().getContentClassLoader().getResource("").getPath();
7. request.getSession().getServletContext().getRealPath("/");
其中:
第4個方式的參數可以修改爲其他內容:
/**
* Key 中文描述
* java.version Java 運行時環境版本
* java.vendor Java 運行時環境供應商
* java.vendor.url Java 供應商的 URL
* java.home Java 安裝目錄
* java.vm.specification.version Java 虛擬機規範版本
* java.vm.specification.vendor Java 虛擬機規範供應商
* java.vm.specification.name Java 虛擬機規範名稱
* java.vm.version Java 虛擬機實現版本
* java.vm.vendor Java 虛擬機實現供應商
* java.vm.name Java 虛擬機實現名稱
* java.specification.version Java 運行時環境規範版本
* java.specification.vendor Java 運行時環境規範供應商
* java.specification.name Java 運行時環境規範名稱
* java.class.version Java 類格式版本號
* java.class.path Java 類路徑
* java.library.path 加載庫時搜索的路徑列表
* java.io.tmpdir 默認的臨時文件路徑
* java.compiler 要使用的 JIT 編譯器的名稱
* java.ext.dirs 一個或多個擴展目錄的路徑
* os.name 操作系統的名稱
* os.arch 操作系統的架構
* os.version 操作系統的版本
* file.separator 文件分隔符(在 UNIX 系統中是“/”)
* path.separator 路徑分隔符(在 UNIX 系統中是“:”)
* line.separator 行分隔符(在 UNIX 系統中是“/n”)
* user.name 用戶的賬戶名稱
* user.home 用戶的主目錄
* user.dir 用戶的當前工作目錄
*
*/