引用:點擊打開鏈接
當程序中需要使用與操作系統相關的變量(例如:文件分隔符、換行符)時,Java提供了System類的靜態方法getenv()和getProperty()用於返回系統相關的變量與屬性,getenv方法返回的變量大多於系統相關,getProperty方法返回的變量大多與java程序有關。
系統屬性和環境變量都是名稱與值之間的映射。兩種機制都能用來將用戶定義的信息傳遞給 Java進程。環境變量產生更多的全局效應,因爲它們不僅對Java子進程可見,而且對於定義它們的進程的所有子進程都是可見的。在不同的操作系統上,它們的語義有細微的差別,比如,不區分大小寫。因此環境變量更可能有意料不到的副作用。程序中儘可能使用系統屬性。環境變量應該在需要全局效應的時候使用,或者在外部系統接口要求使用環境變量時使用(比如 PATH)。
1、環境變量getenv() :用於獲取當前系統環境的字符串映射視圖;測試代碼及運行結果如下:
-
publicclass Test {
-
publicstaticvoid main(String[] args) {
-
Map<String, String> map = System.getenv();
-
for(Iterator<String> itr = map.keySet().iterator();itr.hasNext();){
-
String key = itr.next();
-
System.out.println(key + "=" + map.get(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 :應用程序數據目錄
2、系統屬性getProperty() :當前的系統屬性。測試代碼及運行結果如下:
-
publicclass Test {
-
publicstaticvoid main(String[] args) {
-
Properties props = System.getProperties();
-
props.list(System.out);
-
}
-
}
-
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 :用戶的當前工作目錄