Java 获取环境变量及系统属性

Java 获取环境变量及系统属性


当程序中需要使用与操作系统相关的变量(例如:文件分隔符、换行符)时,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 ()

当前的系统属性,测试代码如下:

System.getProperties()  得到所有的系统属性
System.getProperty(key)  得到某个系统属性的值
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()); 
} 
java.version Java :运行时环境版本
java.vendor Java :运行时环境供应商
java.vendor.url :Java供应商的 URL
java.home &nbsp;&nbsp;:Java安装目录
java.vm.specification.version: Java虚拟机规范版本
java.vm.specification.vendor :Java虚拟机规范供应商
java.vm.specification.name &nbsp; :Java虚拟机规范名称
java.vm.version :Java虚拟机实现版本
java.vm.vendor :Java虚拟机实现供应商
java.vm.name&nbsp; :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获取系统属性及环境变量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值