一、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下的多用户没有尝试
2056

被折叠的 条评论
为什么被折叠?



