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            :用户的当前工作目录  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章