System.getProperties()与System.getenv()

一、System.getProperties()
1、通过System.getProperties()方法可以获取系统的一些默认属性。如运行时的目录、用户名、用户目录、语言、操作系统、操作系统默认编码等等等。

public static void main(String[] args) {
       System.getProperties().list(System.out);
    }

2、程序输出如下:

-- listing properties --
java.runtime.name=Java(TM) SE Runtime Environment
sun.boot.library.path=F:\Program Files\Java\jdk1.8.0_20\jre...
java.vm.version=25.20-b23
java.vm.vendor=Oracle Corporation
java.vendor.url=http://java.oracle.com/
path.separator=;
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg=sun.io
user.script=
user.country=CN
sun.java.launcher=SUN_STANDARD
sun.os.patch.level=
java.vm.specification.name=Java Virtual Machine Specification
user.dir=F:\project
java.runtime.version=1.8.0_20-b26
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs=F:\Program Files\Java\jdk1.8.0_20\jre...
os.arch=amd64
java.io.tmpdir=C:\Users\*\AppData\Local\Temp\
line.separator=

java.vm.specification.vendor=Oracle Corporation
user.variant=
os.name=Windows 8.1
sun.jnu.encoding=GBK
java.library.path=F:\Program Files\Java\jdk1.8.0_20\bin...
java.specification.name=Java Platform API Specification
java.class.version=52.0
sun.management.compiler=HotSpot 64-Bit Tiered Compilers
os.version=6.3
user.home=C:\Users\*
user.timezone=Asia/Shanghai
java.awt.printerjob=sun.awt.windows.WPrinterJob
file.encoding=UTF-8
java.specification.version=1.8
user.name=*
java.class.path=F:\Program Files\Java\jdk1.8.0_20\jre...
java.vm.specification.version=1.8
sun.arch.data.model=64
java.home=F:\Program Files\Java\jdk1.8.0_20\jre
sun.java.command=com.zlc.SystemConfig
java.specification.vendor=Oracle Corporation
user.language=zh
awt.toolkit=sun.awt.windows.WToolkit
java.vm.info=mixed mode
java.version=1.8.0_20
java.ext.dirs=F:\Program Files\Java\jdk1.8.0_20\jre...
sun.boot.class.path=F:\Program Files\Java\jdk1.8.0_20\jre...
java.vendor=Oracle Corporation
file.separator=\
java.vendor.url.bug=http://bugreport.sun.com/bugreport/
sun.cpu.endian=little
sun.io.unicode.encoding=UnicodeLittle
sun.desktop=windows
sun.cpu.isalist=amd64

3、常用的key的含义

java默认的系统变量有下面这些:(不同版本的JDK可能会有一些差别)
java.runtime.name: java 运行时名称
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: 用户的当前工作目录
以上都是默认的java 系统变量,可以通过System.setProperty("key",value)来进行设置

二、System.getenv()
1、通过System.getenv() 可以获取操作系统的环境变量(包括当前用户的环境变量),如path中的环境变量

public static void main(String[] args) {
        // JVM运行时变量
        // System.getProperties().list(System.out);
        // 获取操作系统环境变量
        System.getenv().forEach((k,v)-> System.out.println(k + "=" + v));
    }

2、程序输出如下:

USERDOMAIN_ROAMINGPROFILE=DESKTOP-S79UJFR
PROCESSOR_LEVEL=6
SESSIONNAME=Console
ALLUSERSPROFILE=C:\ProgramData
PROCESSOR_ARCHITECTURE=AMD64
PSModulePath=C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\
SystemDrive=C:
MAVEN_HOME=F:\maven\apache-maven-3.3.9
USERNAME=*
ProgramFiles(x86)=C:\Program Files (x86)
FPS_BROWSER_USER_PROFILE_STRING=Default
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
DriverData=C:\Windows\System32\Drivers\DriverData
ProgramData=C:\ProgramData
ProgramW6432=C:\Program Files
HOMEPATH=\Users\*
MYSQL_HOME=C:\Program Files\MySQL\MySQL Server 5.6\bin
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 69 Stepping 1, GenuineIntel
ProgramFiles=C:\Program Files
PUBLIC=C:\Users\Public
windir=C:\WINDOWS
=::=::\
LOCALAPPDATA=C:\Users\臣\AppData\Local
IntelliJ IDEA=F:\Program Files\JetBrains\IntelliJ IDEA 2019.1.2\bin;
USERDOMAIN=DESKTOP-S79UJFR
FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer
LOGONSERVER=\\DESKTOP-S79UJFR
JAVA_HOME=F:\Program Files\Java\jdk1.8.0_231
LESSCHARSET=utf-8
WebStorm=F:\Program Files\JetBrains\WebStorm 2019.2.2\bin;
GRADLE_HOME=F:\Program Files\gradle-6.8.3
OneDrive=C:\Users\*\OneDrive
APPDATA=C:\Users\*\AppData\Roaming
GRADLE_USER_HOME=F:\maven\repository
CommonProgramFiles=C:\Program Files\Common Files
Path=C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;F:\Program Files\Java\jdk1.8.0_231\bin;F:\Program Files\Java\jdk1.8.0_231\jre\bin;F:\maven\apache-maven-3.3.9\bin;C:\WINDOWS\System32\OpenSSH\;F:\Program Files\nodejs\;C:\Program Files (x86)\MySQL\MySQL Fabric 1.5.2 & MySQL Utilities 1.5.2 1.5\;C:\Program Files (x86)\MySQL\MySQL Fabric 1.5.2 & MySQL Utilities 1.5.2 1.5\Doctrine extensions for PHP\;E:\Program Files\TortoiseSVN\bin;F:\Program Files\Git\cmd;D:\Program Files\PuTTY\;"F:\Program Files\gradle-6.8.3\bin;";C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\MySQL\MySQL Server 5.6\bin;;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;E:\Program Files (x86)\NetSarang\Xshell 7\;E:\Program Files (x86)\NetSarang\Xftp 7\;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;F:\Program Files\python\Scripts\;F:\Program Files\python\;C:\Users\*\AppData\Local\Microsoft\WindowsApps;;F:\Program Files\JetBrains\IntelliJ IDEA 2019.1.2\bin;;C:\Users\*\AppData\Roaming\npm;F:\Program Files\JetBrains\WebStorm 2019.2.2\bin;
OS=Windows_NT
COMPUTERNAME=DESKTOP-S79UJFR
PROCESSOR_REVISION=4501
CLASSPATH=.;F:\Program Files\Java\jdk1.8.0_231\lib;F:\Program Files\Java\jdk1.8.0_231\lib\tools.jar
CommonProgramW6432=C:\Program Files\Common Files
ComSpec=C:\WINDOWS\system32\cmd.exe
SystemRoot=C:\WINDOWS
TEMP=C:\Users\*\AppData\Local\Temp
HOMEDRIVE=C:
USERPROFILE=C:\Users\*
TMP=C:\Users\臣\AppData\Local\Temp
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
NUMBER_OF_PROCESSORS=4

3、可以看到当前用户的环境变量也在里面

在这里插入图片描述
4、Windos下的多用户没有尝试

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喵喵@香菜

感谢观众老爷送的一发火箭!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值