Java中有一个System.getProperty("")的使用,以前一直没用过,今天偶然看到了,查了写资料总结下:
System类包含了一些有用的类字段和方法,不能被实例化。
System类提供了标准输入、标准输出和错误输出流;访问外部定义的属性和环境变量;加载文件和库文件的一种手段,快速复制数组的一部分的使用方法。
具体到System.getProperty(String key)方法,就是获取指定的key所代表的系统属性。
首先如果有安全管理器security manager,那么就会以key为参数,调用安全管理器的checkPropertyAccess 方法,这可能导致安全异常SecurityException。
如果没有当前设置的系统属性,首先创建并为方法getProperties以相同的方式初始化系统属性。
具体实现可以查看源代码。
这里可以获取的属性有52个,我的的是环境是window7 + jre1.6 其中有些属性值是根据操作系统、jre版本的不同而有所差异.
注:有些属性我也不知道怎么用汉语说明或者具体的含义
测试结果java运行时环境名称 | java.runtime.name | Java(TM) SE Runtime Environment |
java虚拟机启动所需库路径 | sun.boot.library.path | C:\Program Files\Java\jdk1.6.0_20\jre\bin |
java虚拟机版本 | java.vm.version | 16.3-b01 |
java虚拟机供应商 | java.vm.vendor | Sun Microsystems Inc. |
java虚拟机供应商url | java.vendor.url | http://java.sun.com/ |
路径分隔符 | path.separator | ; |
java虚拟机名称 | java.vm.name | Java HotSpot(TM) Client VM |
java平台文件编码包(不确定) | file.encoding.pkg | sun.io |
sun.java.launcher | SUN_STANDARD | |
用户所在国家 根据操作系统决定 | user.country | CN |
sun.os.patch.level | Service Pack 1 | |
java.vm.specification.name | Java Virtual Machine Specification | |
用户当前工作目录 | user.dir | D:\MyEclipse 8.5\FileTest |
java运行时环境版本 | java.runtime.version | 1.6.0_20-b02 |
java.awt.graphicsenv | sun.awt.Win32GraphicsEnvironment | |
java.endorsed.dirs | C:\Program Files\Java\jdk1.6.0_20\jre\lib\endorsed | |
os.arch | x86 | |
java输入输出的临时保存目录 | java.io.tmpdir | C:\Users\MFW\AppData\Local\Temp\ |
line.separator | \n | |
java虚拟机具体供应商 | java.vm.specification.vendor | Sun Microsystems Inc. |
用户变种(不确定) | user.variant | 空的 |
操作系统名称 | os.name | Windows 7 |
sun.jnu.encoding | GBK | |
java库文件路径 | java.library.path | C:\Program Files\Java\jdk1.6.0_20\bin;.; 等等 |
java具体名称 | java.specification.name | Java Platform API Specification |
java类版本 | java.class.version | 50.0 |
编译器 | sun.management.compiler | HotSpot Client Compiler |
操作系统版本 | os.version | 6.1 |
用户目录 | user.home | C:\Users\XXX |
用户时区 | user.timezone | 空的 |
java.awt.printerjob | sun.awt.windows.WPrinterJob | |
文件编码 | file.encoding | UTF-8 |
java具体版本 | java.specification.version | 1.6 |
项目类路径 | java.class.path | D:\MyEclipse 8.5\FileTest\bin |
当前登录用户名 | user.name | XXX |
java虚拟机具体版本 | java.vm.specification.version | 1.0 |
java根目录 | java.home | C:\Program Files\Java\jdk1.6.0_20\jre |
sun.arch.data.model | 32 | |
用户语言 | user.language | zh |
java具体供应商 | java.specification.vendor | Sun Microsystems Inc. |
awt.toolkit | sun.awt.windows.WToolkit | |
java虚拟机信息 | java.vm.info | mixed mode, sharing |
java版本 | java.version | 1.6.0_20 |
java.ext.dirs | C:\Program Files\Java\jdk1.6.0_20\jre\lib\ext;C:\Windows\Sun\Java\lib\ext | |
sun.boot.class.path | C:\Program Files\Java\jdk1.6.0_20\jre\lib\resources.jar 等等 | |
java供应商 | java.vendor | Sun Microsystems Inc. |
文件分隔符 | file.separator | \ |
java供应商bug提交url | java.vendor.url.bug | http://java.sun.com/cgi-bin/bugreport.cgi |
sun.io.unicode.encoding | UnicodeLittle | |
sun.cpu.endian | little | |
桌面 | sun.desktop | windows |
cpu信息 | sun.cpu.isalist | pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86 |