Java系统变量参数 获取 设置 System.getProperties()

发布时间 2023-09-07 17:36:05作者: 宿命srl

目录

1.获取

2.设置

3.常用参数

4.Systm.getenv()与System.getProperties()区别


1.获取

  1.  
    String osName =System.getProperties().getProperty("os.name");
  2.  
    System.out.println(osName);

结果输出:Windows 10

2.设置

System.setProperty("jdbc.drivers","xxx");
 

这时系统变量才会输出jdbc.drivers系统变量名

3.常用参数

  1.  
    package com.sd3e.projectmanager.entity.actDemo;
  2.  
     
  3.  
    import java.util.Properties;
  4.  
     
  5.  
    /**
  6.  
    * @version v1.0
  7.  
    * @ProjectName: jeecg-boot-parent
  8.  
    * @ClassName: Main
  9.  
    * @Description: System.getProperties() 获取的 Java 系统参数
  10.  
    * @Author: xbx
  11.  
    * @Date: 2021/10/21 13:11
  12.  
    */
  13.  
    public class Main {
  14.  
    public static void main(String[] args) {
  15.  
    Properties properties = System.getProperties();
  16.  
    String osName =System.getProperties().getProperty("os.name");
  17.  
    System.out.println(osName);
  18.  
    // for (Object obj : properties.keySet()) {
  19.  
    // System.out.println("系统变量:" + obj + " = " + properties.get(obj));
  20.  
    // System.out.println("***********************************************************");
  21.  
    // }
  22.  
     
  23.  
     
  24.  
    for(String propertyName:properties.stringPropertyNames()) {
  25.  
    System.out.println("系统变量:"+propertyName+" = "+properties.getProperty(propertyName));
  26.  
    }
  27.  
     
  28.  
     
  29.  
    System.out.println("Java的运行环境版本:"+properties.getProperty("java.version"));
  30.  
    System.out.println("Java的运行环境供应商:"+properties.getProperty("java.vendor"));
  31.  
    System.out.println("Java供应商的URL:"+properties.getProperty("java.vendor.url"));
  32.  
    System.out.println("Java的安装路径:"+properties.getProperty("java.home"));
  33.  
    System.out.println("Java的虚拟机规范版本:"+properties.getProperty("java.vm.specification.version"));
  34.  
    System.out.println("Java的虚拟机规范供应商:"+properties.getProperty("java.vm.specification.vendor"));
  35.  
    System.out.println("Java的虚拟机规范名称:"+properties.getProperty("java.vm.specification.name"));
  36.  
    System.out.println("Java的虚拟机实现版本:"+properties.getProperty("java.vm.version"));
  37.  
    System.out.println("Java的虚拟机实现供应商:"+properties.getProperty("java.vm.vendor"));
  38.  
    System.out.println("Java的虚拟机实现名称:"+properties.getProperty("java.vm.name"));
  39.  
    System.out.println("Java运行时环境规范版本:"+properties.getProperty("java.specification.version"));
  40.  
    System.out.println("Java运行时环境规范供应商:"+properties.getProperty("java.specification.vender"));
  41.  
    System.out.println("Java运行时环境规范名称:"+properties.getProperty("java.specification.name"));
  42.  
    System.out.println("Java的类格式版本号:"+properties.getProperty("java.class.version"));
  43.  
    System.out.println("Java的类路径:"+properties.getProperty("java.class.path"));
  44.  
    System.out.println("加载库时搜索的路径列表:"+properties.getProperty("java.library.path"));
  45.  
    System.out.println("默认的临时文件路径:"+properties.getProperty("java.io.tmpdir"));
  46.  
    System.out.println("一个或多个扩展目录的路径:"+properties.getProperty("java.ext.dirs"));
  47.  
    System.out.println("操作系统的名称:"+properties.getProperty("os.name"));
  48.  
    System.out.println("操作系统的构架:"+properties.getProperty("os.arch"));
  49.  
    System.out.println("操作系统的版本:"+properties.getProperty("os.version"));
  50.  
    //在 unix 系统中是"/"
  51.  
    System.out.println("文件分隔符:"+properties.getProperty("file.separator"));
  52.  
    //在 unix 系统中是":"
  53.  
    System.out.println("路径分隔符:"+properties.getProperty("path.separator"));
  54.  
    //在 unix 系统中是"/n"
  55.  
    System.out.println("行分隔符:"+properties.getProperty("line.separator"));
  56.  
    System.out.println("用户的账户名称:"+properties.getProperty("user.name"));
  57.  
    System.out.println("用户的主目录:"+properties.getProperty("user.home"));
  58.  
    System.out.println("用户的当前工作目录:"+properties.getProperty("user.dir"));
  59.  
    }
  60.  
    }
  61.  
     
  62.  
     
  63.  
     
  64.  
    /*
  65.  
     
  66.  
    | java.version | Java 运行时环境版本 |
  67.  
    | ----------------------------- | ---------------------------------|
  68.  
    | java.vendor | Java 运行时环境供应商 |
  69.  
    | java.vendor.url | Java 供应商的 URL |
  70.  
    | java.home | Java 安装目录 |
  71.  
    | java.vm.specification.version | Java 虚拟机规范版本 |
  72.  
    | java.vm.specification.vendor | Java 虚拟机规范供应商 |
  73.  
    | java.vm.specification.name | Java 虚拟机规范名称 |
  74.  
    | java.vm.version | Java 虚拟机实现版本 |
  75.  
    | java.vm.vendor | Java 虚拟机实现供应商 |
  76.  
    | java.vm.name | Java 虚拟机实现名称 |
  77.  
    | java.specification.version | Java 运行时环境规范版本 |
  78.  
    | java.specification.vendor | Java 运行时环境规范供应商 |
  79.  
    | java.specification.name | Java 运行时环境规范名称 |
  80.  
    | java.class.version | Java 类格式版本号 |
  81.  
    | java.class.path | Java 类路径 |
  82.  
    | java.library.path | 加载库时搜索的路径列表 |
  83.  
    | java.io.tmpdir | 默认的临时文件路径 |
  84.  
    | java.compiler | 要使用的 JIT 编译器的名称 |
  85.  
    | java.ext.dirs | 一个或多个扩展目录的路径 |
  86.  
    | os.name | 操作系统的名称 |
  87.  
    | os.arch | 操作系统的架构 |
  88.  
    | os.version | 操作系统的版本 |
  89.  
    | file.separator | 文件分隔符(在 UNIX 系统中是“/”) |
  90.  
    | path.separator | 路径分隔符(在 UNIX 系统中是“:”) |
  91.  
    | line.separator | 行分隔符(在 UNIX 系统中是“/n”) |
  92.  
    | user.name | 用户的账户名称 |
  93.  
    | user.home | 用户的主目录 |
  94.  
    | user.dir | 用户的当前工作目录 |
  95.  
     
  96.  
    */

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等