目录
1.获取
2.设置
3.常用参数
4.Systm.getenv()与System.getProperties()区别
1.获取
String osName =System.getProperties().getProperty("os.name");
System.out.println(osName);
结果输出:Windows 10
2.设置
System.setProperty("jdbc.drivers","xxx");
这时系统变量才会输出jdbc.drivers系统变量名
3.常用参数
package com.sd3e.projectmanager.entity.actDemo;
import java.util.Properties;
/**
* @version v1.0
* @ProjectName: jeecg-boot-parent
* @ClassName: Main
* @Description: System.getProperties() 获取的 Java 系统参数
* @Author: xbx
* @Date: 2021/10/21 13:11
*/
public class Main {
public static void main(String[] args) {
Properties properties = System.getProperties();
String osName =System.getProperties().getProperty("os.name");
System.out.println(osName);
// for (Object obj : properties.keySet()) {
// System.out.println("系统变量:" + obj + " = " + properties.get(obj));
// System.out.println("***********************************************************");
// }
for(String propertyName:properties.stringPropertyNames()) {
System.out.println("系统变量:"+propertyName+" = "+properties.getProperty(propertyName));
}
System.out.println("Java的运行环境版本:"+properties.getProperty("java.version"));
System.out.println("Java的运行环境供应商:"+properties.getProperty("java.vendor"));
System.out.println("Java供应商的URL:"+properties.getProperty("java.vendor.url"));
System.out.println("Java的安装路径:"+properties.getProperty("java.home"));
System.out.println("Java的虚拟机规范版本:"+properties.getProperty("java.vm.specification.version"));
System.out.println("Java的虚拟机规范供应商:"+properties.getProperty("java.vm.specification.vendor"));
System.out.println("Java的虚拟机规范名称:"+properties.getProperty("java.vm.specification.name"));
System.out.println("Java的虚拟机实现版本:"+properties.getProperty("java.vm.version"));
System.out.println("Java的虚拟机实现供应商:"+properties.getProperty("java.vm.vendor"));
System.out.println("Java的虚拟机实现名称:"+properties.getProperty("java.vm.name"));
System.out.println("Java运行时环境规范版本:"+properties.getProperty("java.specification.version"));
System.out.println("Java运行时环境规范供应商:"+properties.getProperty("java.specification.vender"));
System.out.println("Java运行时环境规范名称:"+properties.getProperty("java.specification.name"));
System.out.println("Java的类格式版本号:"+properties.getProperty("java.class.version"));
System.out.println("Java的类路径:"+properties.getProperty("java.class.path"));
System.out.println("加载库时搜索的路径列表:"+properties.getProperty("java.library.path"));
System.out.println("默认的临时文件路径:"+properties.getProperty("java.io.tmpdir"));
System.out.println("一个或多个扩展目录的路径:"+properties.getProperty("java.ext.dirs"));
System.out.println("操作系统的名称:"+properties.getProperty("os.name"));
System.out.println("操作系统的构架:"+properties.getProperty("os.arch"));
System.out.println("操作系统的版本:"+properties.getProperty("os.version"));
//在 unix 系统中是"/"
System.out.println("文件分隔符:"+properties.getProperty("file.separator"));
//在 unix 系统中是":"
System.out.println("路径分隔符:"+properties.getProperty("path.separator"));
//在 unix 系统中是"/n"
System.out.println("行分隔符:"+properties.getProperty("line.separator"));
System.out.println("用户的账户名称:"+properties.getProperty("user.name"));
System.out.println("用户的主目录:"+properties.getProperty("user.home"));
System.out.println("用户的当前工作目录:"+properties.getProperty("user.dir"));
}
}
/*
| 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 | 用户的当前工作目录 |
*/
4.Systm.getenv()与System.getProperties()区别
(1)System.getenv()是获取系统环境变量,System.getProperties()是获取当前系统相关 属性信息。 (2)System.getenv():返回当前系统环境的字符串Map,其是不可变的,环境变量是系统相关的 键值对,从父进程传递到子进程.如:JAVA_HOME,PATH等 (3)System.getProperties():获取系统相关属性,比如:Java版本、操作系统信息、用户名等, 这些跟JVM和操作系统相关的属性.如:java.version,os.name,user.dir,file.separator等