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