首頁  >  文章  >  Java  >  Java取得系統屬性及環境變數

Java取得系統屬性及環境變數

高洛峰
高洛峰原創
2016-12-17 13:09:211316瀏覽

     當程式中需要使用與作業系統相關的變數(例如:檔案分隔符號、換行符號)時,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            :用户的当前工作目录



更多Java獲取系統屬性及環境變量相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn