首页 / JAVA / java中获取环境变量
java中获取环境变量
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java中获取环境变量,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2572字,纯文字阅读大概需要4分钟。
内容图文
分为获取java自身的一些环境变量和和操作系统相关的环境变量。
- 获取JVM相关的一些变量
在运行时设置一个环境变量 debug 为 true: java -Ddebug=true YourClass
在程序中设置一个环境变量 debug 为 true: System.setProperty( "debug", "true" );
获取一个环境变量 debug : String debug = System.getProperty( "debug" );
下表中列出了一部分环境变量,这些是 Java 已经定义好的,可以在程序中通过 System.getProperty( "key" ) 来获取,更多的环境变量请参阅 JDK 文档。
属性名 描 述 java.version Java 运行时版本 java.home Java 的安装目录 java.class.version Java 类格式的版本号 java.class.path Java 类的查找路径 java.io.tmpdir 默认的临时目录 java.compiler Java 所使用的及时编译器 java.ext.dirs Java 扩展包的目录 os.name 操作系统的名称 os.arch 操作系统的体系结构 os.version 操作系统的版本 file.separator 文件分隔符(Unix 下为‘/‘) path.separator 路径分隔符(Unix 下为‘:‘) line.separator 换行符(Unix 下为‘/n‘) user.name 用户帐号名 user.home 用户目录 user.dir 用户当前的工作目录
其他具体的可以参考后面的代码实例程序。
- 取得操作系统的环境变量
注意,这次是获取操作系统的环境变量,而不是获取JVM相关的一些变量。
也许是为了营造JVM就是操作系统平台的气氛,抑或是为了强调Java的平台无关性,不知几时起Java已经把System.getenv(String)函数废弃了。所以一般来说Java只能获取它自己定义的一些变量,而无法与操作系统的环境变量交互,只能在运行靠java的“-D”参数来设置要传递给它的一些变量。
所以唯一的办法只能先判断操作系统,然后用操作系统的命令来调出环境变量列表,设法获得该输出列表。
- 代码实现
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util.Map; import java.util.Properties; public class SystemValue { /** * 使用System获取系统相关的值 */ public static void getSystemProperties() { Properties pp = System.getProperties(); System.out.println("System‘s Properties:"); System.out.println(); java.util.Enumeration en = pp.propertyNames(); while (en.hasMoreElements()) { String nextE = (String) en.nextElement(); System.out.print(nextE + "=" + pp.getProperty(nextE)); System.out.println(); } } public static void getCustomProperties(String key) { Map map = getEnv(); System.out.println(key + "=" + map.get(key)); } public static Map getEnv() { Map map = new HashMap(); Process p = null; Runtime r = Runtime.getRuntime(); String OS = System.getProperty("os.name").toLowerCase(); System.out.println("OS="+OS); try { if (OS.indexOf("windows 9") > -1) { p = r.exec("command.com /c set"); } else if ((OS.indexOf("nt") > -1) || (OS.indexOf("windows 20") > -1) || (OS.indexOf("windows xp") > -1)) { p = r.exec("cmd.exe /c set"); } else { // Unix p = r.exec("env"); } BufferedReader br = new BufferedReader(new InputStreamReader(p .getInputStream())); String line; while ((line = br.readLine()) != null) { String[] str = line.split("="); map.put(str[0], str[1]); } } catch (IOException ioe) { ioe.printStackTrace(); } return map; } public static void main(String[] args) { // getSystemProperties(); getCustomProperties("JAVA_HOME"); } }
原文:http://www.cnblogs.com/fly-air/p/5165374.html
内容总结
以上是互联网集市为您收集整理的java中获取环境变量全部内容,希望文章能够帮你解决java中获取环境变量所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。