System.getenv()和System.getProperty() 的区别

时间:2021-05-16 23:05:20

ava.lang.System.getenv(String name) 方法获取指定的环境变量的值。环境变量是依赖于系统的外部命名值。

环境变量应使用一个全局作用,或者当外部系统的接口需要一个环境变量(如PATH)。

若System.getenv() 括号内为空,返回的是map类型的集合。

env:environment

public class EnvironmentVariables {
    
    public static void main(String[] args) {
        
        for(Map.Entry entry:System.getenv().entrySet()){
            
        System.out.println(entry.getKey()+"-->"+entry.getValue());
            
        }
    }

}
COMPUTERNAME-->TIGER
windir-->C:\windows
SystemRoot-->C:\windows
NUMBER_OF_PROCESSORS-->4
USERNAME-->Administrator
PUBLIC-->C:\Users\Public
PSModulePath-->C:\windows\system32\WindowsPowerShell\v1.0\Modules\
CommonProgramFiles(x86)-->C:\Program Files (x86)\Common Files
ComSpec-->C:\windows\system32\cmd.exe
APPDATA-->C:\Users\Administrator\AppData\Roaming

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

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

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

System.getProperty() 接收参数及其含义如下:

参数值 参数含义
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 用户的当前工作目录