Java獲取系統屬性及環境變量

引用:點擊打開鏈接

當程序中需要使用與操作系統相關的變量(例如:文件分隔符、換行符)時,Java提供了System類的靜態方法getenv()和getProperty()用於返回系統相關的變量與屬性,getenv方法返回的變量大多於系統相關,getProperty方法返回的變量大多與java程序有關。

      系統屬性和環境變量都是名稱與值之間的映射。兩種機制都能用來將用戶定義的信息傳遞給 Java進程。環境變量產生更多的全局效應,因爲它們不僅對Java子進程可見,而且對於定義它們的進程的所有子進程都是可見的。在不同的操作系統上,它們的語義有細微的差別,比如,不區分大小寫。因此環境變量更可能有意料不到的副作用。程序中儘可能使用系統屬性。環境變量應該在需要全局效應的時候使用,或者在外部系統接口要求使用環境變量時使用(比如 PATH)。 


1、環境變量getenv()   :用於獲取當前系統環境的字符串映射視圖;測試代碼及運行結果如下:

[java] view plain copy
 print?
  1. publicclass Test {  
  2.     publicstaticvoid main(String[] args) {  
  3.         Map<String, String> map = System.getenv();  
  4.         for(Iterator<String> itr = map.keySet().iterator();itr.hasNext();){  
  5.             String key = itr.next();  
  6.             System.out.println(key + "=" + map.get(key));  
  7.         }     
  8.     }  
  9. }   

[plain] view plain copy
 print?
  1. USERPROFILE        :用戶目錄  
  2. USERDNSDOMAIN      :用戶域  
  3. PATHEXT            :可執行後綴  
  4. JAVA_HOME          :Java安裝目錄  
  5. TEMP               :用戶臨時文件目錄  
  6. SystemDrive        :系統盤符  
  7. ProgramFiles       :默認程序目錄  
  8. USERDOMAIN         :帳戶的域的名稱  
  9. ALLUSERSPROFILE    :用戶公共目錄  
  10. SESSIONNAME        :Session名稱  
  11. TMP                :臨時目錄  
  12. Path               :path環境變量  
  13. CLASSPATH          :classpath環境變量  
  14. PROCESSOR_ARCHITECTURE :處理器體系結構  
  15. OS                     :操作系統類型  
  16. PROCESSOR_LEVEL    :處理級別  
  17. COMPUTERNAME       :計算機名  
  18. Windir             :系統安裝目錄  
  19. SystemRoot         :系統啓動目錄  
  20. USERNAME           :用戶名  
  21. ComSpec            :命令行解釋器可執行程序的準確路徑  
  22. APPDATA            :應用程序數據目錄  

2、系統屬性getProperty()   :當前的系統屬性。測試代碼及運行結果如下:

[java] view plain copy
 print?
  1. publicclass Test {  
  2.     publicstaticvoid main(String[] args) {  
  3.         Properties props = System.getProperties();  
  4.         props.list(System.out);  
  5.     }  
  6. }  
[java] view plain copy
 print?
  1. java.version Java            :運行時環境版本  
  2. java.vendor Java             :運行時環境供應商  
  3. java.vendor.url              :Java供應商的 URL  
  4. java.home                    :Java安裝目錄  
  5. java.vm.specification.version: Java虛擬機規範版本  
  6. java.vm.specification.vendor :Java虛擬機規範供應商  
  7. java.vm.specification.name   :Java虛擬機規範名稱  
  8. java.vm.version         :Java虛擬機實現版本  
  9. java.vm.vendor          :Java虛擬機實現供應商  
  10. java.vm.name            :Java虛擬機實現名稱  
  11. java.specification.version   :Java運行時環境規範版本  
  12. java.specification.vendor    :Java運行時環境規範供應商  
  13. java.specification.name      :Java運行時環境規範名稱  
  14. java.class.version      :Java類格式版本號  
  15. java.class.path         :Java類路徑  
  16. java.library.path       :加載庫時搜索的路徑列表  
  17. java.io.tmpdir          :默認的臨時文件路徑  
  18. java.compiler           :要使用的 JIT編譯器的名稱  
  19. java.ext.dirs           :一個或多個擴展目錄的路徑  
  20. os.name                 :操作系統的名稱  
  21. os.arch                 :操作系統的架構  
  22. os.version              :操作系統的版本  
  23. file.separator      :文件分隔符  
  24. path.separator      :路徑分隔符  
  25. line.separator      :行分隔符  
  26. user.name           :用戶的賬戶名稱  
  27. user.home           :用戶的主目錄  
  28. user.dir            :用戶的當前工作目錄  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章