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

浙公网安备 33010602011771号