系统变量之System.getenv()和System.getProperty()

Java提供了System类的静态方法getenv()和getProperty()用于返回系统相关的变量与属性,getenv方法返回的变量大多于系统相关,getProperty方法返回的变量大多与java程序有关。

System.getenv() 方法是获取指定的环境变量的值。

System.getenv(String str) 接收参数为任意字符串,当存在指定环境变量时即返回环境变量的值,否则返回null。

System.getProperty() 是获取系统的相关属性,包括文件编码、操作系统名称、区域、用户名等,此属性一般由jvm自动获取,不能设置。

System.getProperty(String str) 接收参数为任意字符串,当存在指定属性时即返回属性的值,否则返回null。

publicclass testenv {
    publicstaticvoid main(String[] args) {
        Map<String, String> map = System.getenv();
        for(Iterator<String> it = map.keySet().iterator();it.hasNext();){
            String key = it.next();
            System.out.println(key + "=" + map.get(key));
        }
    }
} 

总结:它们返回的是都是map类型的键对值。

在测试项目中经常用在初始化测试环境。

System.getenv()

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            :应用程序数据目录

System.getProperty()

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:用户的当前工作目录

原文地址:https://www.cnblogs.com/SUNSHINEC/p/9003105.html

时间: 2024-07-30 23:52:47

系统变量之System.getenv()和System.getProperty()的相关文章

java中System.getenv和System.getProperties的区别

System.getenv获取的是系统的环境变量(就是用户在操作系统中设置的环境变量),windows和linux下环境变量的设置就不说了哦. System.getProperties获取的是系统的相关属性.在java api文档中已经列出了如下属性 如果我们要在java程序启动就能获取自定义的系统属性我们可以使用 java –Dname=zhuhui 这样我们就在系统属性中设置了名称为myname值为zhuhui的系统属性,那么就可以通过System.getProperty("name&quo

Java读取自定义环境变量的方法System.getProperty和System.getenv

引自:https://blog.csdn.net/zhen8023wan/article/details/38460389 问题的由来,想在测试机环境下搞测试,然后不想修改搞到线上环境的时候,自动把本地测试的代码去掉,第一反应的是使用ip判断,但是某些时候也许没有request参数,那么我们变通一下,只需要在测试环境上搞一个自定义的环境变量,然后用来作为判断条件即可.假设设置了环境变量MYNAME, 值为”this is my name”, 运行如下代码: System.out.println(

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

前言 环境变量这个概念不陌生, 就是操作系统的环境变量. 系统变量就是java本身维护的变量. 通过 System.getProperty 的方式获取. 对于不同的操作系统来说, 环境变量的处理可能会有一些不统一的地方, 比方说: 不区分大写和小写 等等. Java 获取环境变量 Java 获取环境变量的方式非常easy: System.getEnv()  得到全部的环境变量 System.getEnv(key) 得到某个环境变量的值 Map map = System.getenv(); Ite

JAVA System.getProperty() 与 System.getenv() 差异及示例

System.getenv() 方法是获取指定的环境变量的值. System.getenv() 接收参数为任意字符串,当存在指定环境变量时即返回环境变量的值,否则返回null System.getProperty() 是获取系统的相关属性,包括文件编码.操作系统名称.区域.用户名等,此属性一般由jvm自动获取,不能设置. System.getProperty() 接收参数及其含义如下: 参数值 参数含义 java.version Java 运行时环境版本                java.

System.getProperty System.getenv 区别 log4j取法

log4j 可以${}取系统变量相关属性  getProperty Java提供了System类的静态方法getenv()和getProperty()用于返回系统相关的变量与属性,getenv方法返回的变量大多于系统相关,getProperty方法返回的变量大多与java程序有关. System.getenv() 方法是获取指定的环境变量的值. System.getenv(String str) 接收参数为任意字符串,当存在指定环境变量时即返回环境变量的值,否则返回null. System.ge

MySQL 系统变量(system variables)

MySQL系统变量(system variables)实际上是一些系统参数,用于初始化或设定数据库对系统资源的占用,文件存放位置等等.这些个系统变量可以分为全局以及会话级别层面来修改,有些也可以进行动态修改.本文主要介绍了系统变量的一些概念以及如何设置查看这些系统变量. 1.什么是系统变量   系统变量实际上用于控制数据库的一些行为和方式的参数.比如我们启动数据库的时候设定多大的内存,使用什么样的隔离级别,日志文件的大小,存放位置等等一系列的东东.当然我们数据库系统启动后,有些系统变量(参数)也

为什么Java使用System.getenv()获取刚刚设置的环境变量时为空

场景: 在Ubuntu下已经启动了Eclipse,然后通过终端设置了环境变量(export $ENV=123),然后通过System.getenv()获取时显示为空. 解释: 环境变量仅在进程树下方,并且只有在进程启动时.Eclipse是您的Shell的子进程 - 因此,当您启动Eclipse时,它继承了您的Shell上定义的所有环境变量. 您可能在启动Eclipse之后在Shell上定义了环境变量,因此,Eclipse及其创建的Java子进程不了解您的新环境变量. 由于这个行为,实际上这里的解

java基础系列:System.getenv()

今天翻看Sytem.class源码,发现getenv()方法,顿时眼前一亮,于是查资料把了解的整理如下: 方法定义: public static String getenv(String name) { SecurityManager sm = getSecurityManager(); if (sm != null) { sm.checkPermission(new RuntimePermission("getenv."+name)); } return ProcessEnviron

java 读取环境变量和系统变量的方法

在web开发的过程中不免需要读取一些自定义的jvm系统变量或者环境变量.比如定义一些通用的log文件.或者数据库访问路径. 我们可以使用System.getProperties()读取所有的系统变量.通过System.getProperty("name");获取特定的系统变量 System.getenv();获取环境变量.System.getenv("name")获取特定的环境变量