Java提供了System類的靜態方法getenv()和getProperty()用於返回系統相關的變量與屬性,getenv方法返回的變量大多於系統相關,getProperty方法返回的變量大多與java程序有關。
System.getenv() 方法是獲取指定的環境變量的值。
System.getenv(String str) 接收參數為任意字符串,當存在指定環境變量時即返回環境變量的值,否則返回null。
System.getProperty() 是獲取系統的相關屬性,包括文件編碼、操作系統名稱、區域、用戶名等,此屬性一般由jvm自動獲取,不能設置。
System.getProperty(String str) 接收參數為任意字符串,當存在指定屬性時即返回屬性的值,否則返回null。
publicclass testenv { publicstaticvoid main(String[] args) { Map<String, String> map = System.getenv(); for(Iterator<String> it = map.keySet().iterator();it.hasNext();){ String key = it.next(); System.out.println(key + "=" + map.get(key)); } } }
總結:它們返回的是都是map類型的鍵對值。
在測試項目中經常用在初始化測試環境。
System.getenv()
USERPROFILE :用戶目錄
USERDNSDOMAIN :用戶域
PATHEXT :可執行后綴
JAVA_HOME :Java安裝目錄
TEMP :用戶臨時文件目錄
SystemDrive :系統盤符
ProgramFiles :默認程序目錄
USERDOMAIN :帳戶的域的名稱
ALLUSERSPROFILE :用戶公共目錄
SESSIONNAME :Session名稱
TMP :臨時目錄
Path :path環境變量
CLASSPATH :classpath環境變量
PROCESSOR_ARCHITECTURE :處理器體系結構
OS :操作系統類型
PROCESSOR_LEVEL :處理級別
COMPUTERNAME :計算機名
Windir :系統安裝目錄
SystemRoot :系統啟動目錄
USERNAME :用戶名
ComSpec :命令行解釋器可執行程序的准確路徑
APPDATA :應用程序數據目錄
System.getProperty() 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 :文件分隔符 path.separator :路徑分隔符 line.separator :行分隔符 user.name :用戶的賬戶名稱 user.home :用戶的主目錄 user.dir:用戶的當前工作目錄