獲得程式當前路徑System.getProperty("user.dir")
阿新 • • 發佈:2019-02-11
因為所有在java.io中的類都是將相對路徑名解釋為起始於使用者的當前工作目錄,所以應該清楚當前的目錄。
可以通過呼叫System.getProperty("user.dir") 來獲得。
/** 獲得當前類的完整路徑。最後一句 */ package org.outman.dms.server; import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; /** * java.version Java 執行時環境版本 java.vendor Java 執行時環境供應商 java.vendor.url Java 供應商的 URL 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 執行時環境規範名稱 os.name 作業系統的名稱 os.arch 作業系統的架構 os.version 作業系統的版本 file.separator 檔案分隔符(在 UNIX 系統中是“ / ”) path.separator 路徑分隔符(在 UNIX 系統中是“ : ”) line.separator 行分隔符(在 UNIX 系統中是“ /n ”) java.home Java 安裝目錄 java.class.version Java 類格式版本號 java.class.path Java 類路徑 java.library.path 載入庫時搜尋的路徑列表 java.io.tmpdir 預設的臨時檔案路徑 java.compiler 要使用的 JIT 編譯器的名稱 java.ext.dirs 一個或多個擴充套件目錄的路徑 user.name 使用者的賬戶名稱 user.home 使用者的主目錄 user.dir */ public class Test { public static void main(String[] args) throws MalformedURLException, URISyntaxException { System.out.println("java.home : "+System.getProperty("java.home")); System.out.println("java.class.version : "+System.getProperty("java.class.version")); System.out.println("java.class.path : "+System.getProperty("java.class.path")); System.out.println("java.library.path : "+System.getProperty("java.library.path")); System.out.println("java.io.tmpdir : "+System.getProperty("java.io.tmpdir")); System.out.println("java.compiler : "+System.getProperty("java.compiler")); System.out.println("java.ext.dirs : "+System.getProperty("java.ext.dirs")); System.out.println("user.name : "+System.getProperty("user.name")); System.out.println("user.home : "+System.getProperty("user.home")); System.out.println("user.dir : "+System.getProperty("user.dir")); System.out.println("==================="); System.out.println("package: "+Test.class.getPackage().getName()); System.out.println("package: "+Test.class.getPackage().toString()); System.out.println("========================="); String packName = Test.class.getPackage().getName(); /*URL packurl = new URL(packName); System.out.println(packurl.getPath());*/ URI packuri = new URI(packName); System.out.println(packuri.getPath()); //System.out.println(packuri.toURL().getPath()); System.out.println(packName.replaceAll("//.", "/")); System.out.println(System.getProperty("user.dir")+"/"+(Test.class.getPackage().getName()).replaceAll("//.", "/")+"/"); } }
System.getProperty("user.dir") 當前工程路徑
(Test.class.getPackage().getName()).replaceAll("//.","/") 當前包路徑。