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


 當程序中需要使用與操作系統相關的變量(例如:文件分隔符、換行符)時,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()   :當前的系統屬性。測試代碼及運行結果如下:

java.version Java :運行時環境版本
java.vendor Java :運行時環境供應商
java.vendor.url :Java供應商的 URL
java.home &nbsp;&nbsp;:Java安裝目錄
java.vm.specification.version: Java虛擬機規范版本
java.vm.specification.vendor :Java虛擬機規范供應商
java.vm.specification.name &nbsp; :Java虛擬機規范名稱
java.vm.version :Java虛擬機實現版本
java.vm.vendor :Java虛擬機實現供應商
java.vm.name&nbsp; :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:用戶的當前工作目錄

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM