首页 > Java > java教程 > 正文

java 获取系统变量(环境变量和设置变量)

高洛峰
发布: 2016-12-17 13:07:01
原创
1663人浏览过

前言

环境变量这个概念不陌生, 就是操作系统的环境变量。

系统变量就是Java本身维护的变量。 通过 System.getProperty 的方式获取。

对于不同的操作系统来说, 环境变量的处理可能会有一些不统一的地方, 比如说: 不区分大小写 等等。

Java 获取环境变量

立即学习Java免费学习笔记(深入)”;

Java 获取环境变量的方式很简单: 

System.getEnv()  得到所有的环境变量

System.getEnv(key) 得到某个环境变量的值

[java] view plain copy
Map map = System.getenv();  
Iterator it = map.entrySet().iterator();  
while(it.hasNext())  
{  
    Entry entry = (Entry)it.next();  
    System.out.print(entry.getKey()+"=");  
    System.out.println(entry.getValue());  
}
登录后复制

如果是windows 系统, 打印出来的值通过从 “我的电脑” 里看到的环境变量是一样的。

Java 获取和设置系统变量

Java 获取环境变量的方式也很简单:

System.getProperties()  得到所有的系统变量

System.getProperty(key)  得到某个系统变量的值

[java] view plain copy
Properties properties = System.getProperties();  
Iterator it =  properties.entrySet().iterator();  
while(it.hasNext())  
{  
    Entry entry = (Entry)it.next();  
    System.out.print(entry.getKey()+"=");  
    System.out.println(entry.getValue());  
}
登录后复制


 系统变量除了可以获取之外, 还可以通过System.setProperty(key, value)  的方式设置自己需要的系统变量。

默认情况下, java 设置了哪些系统变量:

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 文件分隔符(在 UNIX 系统中是"/") 
path.separator 路径分隔符(在 UNIX 系统中是":") 
line.separator 行分隔符(在 UNIX 系统中是"/n") 
user.name 用户的账户名称 
user.home 用户的主目录 
user.dir 用户的当前工作目录

补充

1 . 在.bat ;  .cmd 或  .sh 中会通过 set 的方式设置一些变量,

比如weblogic 的 setDomainEnv.cmd 

set SUN_JAVA_HOME=C:\Oracle\Middleware\jdk160_21

这里设置的是环境变量

2. 在log4j 的配置中, 有时会配置log file 的产生路径。 

比如 ${LOG_DIR}/logfile.log, 这里的LOG_DIR 是被系统属性的变量替换的。

3. 看一下java 源码, 通过 System.getProperties() 的方式获取系统变量时, 会有一个安全的检查

[java] view plain copy
   public static Properties getProperties() {  
SecurityManager sm = getSecurityManager();  
       if (sm != null) {  
    sm.checkPropertiesAccess();  
}  
  
return props;  
   }
登录后复制


在 单个Java application  测试时, System 里的SecurityManager 是空的。

在Applet 运行时, 会结合 .policy 这个文件来检查权限。

如果给一个空的SecurityManager 会发现就会抛出权限异常。

[java] view plain copy
public static void main(String[] args) {  
    // TODO Auto-generated method stub  
    System.setSecurityManager(new SecurityManager());  
    //SecurityManager sm = System.getSecurityManager();  
    //System.out.println(sm);  
    System.getSecurityManager().checkPropertiesAccess();  
}
登录后复制

更多java 获取系统变量(环境变量和设置变量)相关文章请关注PHP中文网!

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号