環境變量Env
使用System.getenv()
獲取系統的所有環境變量的Map,注意它是一個UnmodifiableCollection
,是一個只讀視圖
環境變量並不提供set方法,即沒有System.setEnv…方法
public static void main(String[] args) { Map<String, String> envMap = System.getenv(); envMap.forEach((key, value) -> { System.out.println(key + "=" + value); }); }
下面看輸出結果,然后做解釋如下:
系統屬性Property
系統屬性的作用范圍沒那么大,所以Java是允許我們用API的方式.setProperty
自己設置系統屬性的。
public static void main(String[] args) { Properties properties = System.getProperties(); System.setProperty("myProperty", "自定義的系統屬性~"); // 允許自定義系統屬性 properties.forEach((key, value) -> { System.out.println(key + "=" + value); }); }
下面看輸出結果,然后做解釋如下:
匯總
下面是對常用的,我們更關注的key做了個文本總結,方便搜索、查閱。
環境變量:
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 :應用程序數據目錄
系統屬性:
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:用戶的當前工作目錄