目录

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等