Java之getProperty中都有什么key?

最近在做一个小工具,之前的工具虽然能检测网址是否合法,能判断能否连接。但是还不足够,后面会另外写一篇关于工具改进的文章,能输出下载资源的名称,因为url本身会跳转到对应的下载资源,我需要核对这些东西下载是否正确。

工具本身写得巧妙,将地址复制进txt文件。我自己在看源码之前在想着实现思路。

bat控制编译,数据从txt读取,唯一让我想不明白的是为什么无论我放到哪里,他都能读取到txt文件的位置,这是我想不到的地方,但是看了源码之后就恍然大悟了。其实使用了System.getProperty("user.dir")获取了相对路径,出于兴趣,我又找到了jdk里面的说明,同时最近重新看了properties的操作,对于遍历基本就是信手拈来。

public class TestProperties {
	public static void main(String[] args) {
		Properties p = System.getProperties();
		Enumeration keys = p.keys();
		while(keys.hasMoreElements()){
			String s = (String) keys.nextElement();
			System.out.println("key: "+s);
			System.out.println("value: "+p.getProperty(s));
		}
	}
}

看一下输出:

key: java.runtime.name
value: Java(TM) SE Runtime Environment
key: sun.boot.library.path
value: C:\Program Files\Java\jdk1.7.0_67\jre\bin
key: java.vm.version
value: 24.65-b04
key: java.vm.vendor
value: Oracle Corporation
key: java.vendor.url
value: http://java.oracle.com/
key: path.separator
value: ;
key: java.vm.name
value: Java HotSpot(TM) 64-Bit Server VM
key: file.encoding.pkg
value: sun.io
key: user.country
value: CN
key: user.script
value:
key: sun.java.launcher
value: SUN_STANDARD
key: sun.os.patch.level
value: Service Pack 1
key: java.vm.specification.name
value: Java Virtual Machine Specification
key: user.dir
value: E:\workspace\TestNet
key: java.runtime.version
value: 1.7.0_67-b01
key: java.awt.graphicsenv
value: sun.awt.Win32GraphicsEnvironment
key: java.endorsed.dirs
value: C:\Program Files\Java\jdk1.7.0_67\jre\lib\endorsed
key: os.arch
value: amd64
key: java.io.tmpdir
value: C:\Users\ADMINI~1\AppData\Local\Tempkey: line.separator
value: 

key: java.vm.specification.vendor
value: Oracle Corporation
key: user.variant
value:
key: os.name
value: Windows 7
key: sun.jnu.encoding
value: GBK
key: java.library.path
value: C:\Program Files\Java\jdk1.7.0_67\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\tomcat7\lib;D:\tomcat7\bin;D:\ant1.8.2\bin;C:\Program Files\Java\jdk1.7.0_67\bin;C:\Program Files\TortoiseSVN\bin;D:\jar\apache-maven-3.2.3-bin\bin;D:\Program Files\AppServ\Apache2.2\bin;D:\Program Files\AppServ\php6;D:\Program Files\AppServ\MySQL\bin;.
key: java.specification.name
value: Java Platform API Specification
key: java.class.version
value: 51.0
key: sun.management.compiler
value: HotSpot 64-Bit Tiered Compilers
key: os.version
value: 6.1
key: user.home
value: C:\Users\Administrator
key: user.timezone
value:
key: java.awt.printerjob
value: sun.awt.windows.WPrinterJob
key: file.encoding
value: UTF-8
key: java.specification.version
value: 1.7
key: java.class.path
value: E:\workspace\TestNet\bin
key: user.name
value: Administrator
key: java.vm.specification.version
value: 1.7
key: sun.java.command
value: TestProperties
key: java.home
value: C:\Program Files\Java\jdk1.7.0_67\jre
key: sun.arch.data.model
value: 64
key: user.language
value: zh
key: java.specification.vendor
value: Oracle Corporation
key: awt.toolkit
value: sun.awt.windows.WToolkit
key: java.vm.info
value: mixed mode
key: java.version
value: 1.7.0_67
key: java.ext.dirs
value: C:\Program Files\Java\jdk1.7.0_67\jre\lib\ext;C:\Windows\Sun\Java\lib\ext
key: sun.boot.class.path
value: C:\Program Files\Java\jdk1.7.0_67\jre\lib\resources.jar;C:\Program Files\Java\jdk1.7.0_67\jre\lib\rt.jar;C:\Program Files\Java\jdk1.7.0_67\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.7.0_67\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.7.0_67\jre\lib\jce.jar;C:\Program Files\Java\jdk1.7.0_67\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.7.0_67\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.7.0_67\jre\classes
key: java.vendor
value: Oracle Corporation
key: file.separator
value: key: java.vendor.url.bug
value: http://bugreport.sun.com/bugreport/
key: sun.io.unicode.encoding
value: UnicodeLittle
key: sun.cpu.endian
value: little
key: sun.desktop
value: windows
key: sun.cpu.isalist
value: amd64

各个key的说明

Key Description of Associated Value
java.version Java Runtime Environment version
java.vendor Java Runtime Environment vendor
java.vendor.url Java vendor URL
java.home Java installation directory
java.vm.specification.version Java Virtual Machine specification version
java.vm.specification.vendor Java Virtual Machine specification vendor
java.vm.specification.name Java Virtual Machine specification name
java.vm.version Java Virtual Machine implementation version
java.vm.vendor Java Virtual Machine implementation vendor
java.vm.name Java Virtual Machine implementation name
java.specification.version Java Runtime Environment specification version
java.specification.vendor Java Runtime Environment specification vendor
java.specification.name Java Runtime Environment specification name
java.class.version Java class format version number
java.class.path Java class path
java.library.path List of paths to search when loading libraries
java.io.tmpdir Default temp file path
java.compiler Name of JIT compiler to use
java.ext.dirs Path of extension directory or directories
os.name Operating system name
os.arch Operating system architecture
os.version Operating system version
file.separator File separator ("/" on UNIX)
path.separator Path separator (":" on UNIX)
line.separator Line separator ("\n" on UNIX)
user.name User's account name
user.home User's home directory
user.dir User's current working directory

然后让我想起了很久以前阿包给的一个方法,sun.arch.data.model其实查看的是操作系统的架构,就是你windows或者其他OS是几位的。

而System.getProperty("user.dir")获取当前工作路径的方法也很是实用。

时间: 2024-12-13 19:18:50

Java之getProperty中都有什么key?的相关文章

java Map使用Object 做为Key的问题

近期在看dnsjava 源码的时候,不经意间发现一个自己没有想过的问题: HashMap 如何使用key去查找对应的value的,这个问题很难用语言描述的清楚,那就使用代码来进行说明吧! public class test { public static void main(String[] args) { a aa = new a(); b bb = new b(); Map<Object,Object> c = new HashMap<Object,Object>(); c.p

装完jdk运行java出现错误Error opening registry key &#39;Software\JavaSoft\Java Runtime Environment&#39;

装完jdk运行java出现错误Error opening registry key 'Software\JavaSoft\Java Runtime Environment' 出现上述错误的终极解决办法是jdk安装路径里面不能含有中文...... 装完jdk运行java出现错误Error opening registry key 'Software\JavaSoft\Java Runtime Environment'

java 关于getProperty()方法中反斜杠问题

问: 在配置文件a.properties中有一行path=C:\test在java中getProperty("path")后,java把\t认为是一个字符TAB.怎样才能取到正确的结果:C:\test呢 答: 使用C:\\test或者C:/test... properties文件的约定 在windows下"/""\"都是合法路径分隔符,在Linux/Unix下只有"/"是合法的

java.io.IOException: Type mismatch in key from map:解决方法

执行MR程序的时候发生异常:java.lang.Exception: java.io.IOException: Type mismatch in key from map: expected org.apache.hadoop.io.Text, received org.apache.hadoop.io.LongWritable 日志如下: 2016-05-09 21:33:28,871 INFO [org.apache.hadoop.conf.Configuration.deprecation

给java中的System.getProperty添加新的key value对

由于系统被格了,所以,现在的java项目配置不对,代码里面的配置类调用了一个System.getProperty("env")发现找不到该变量的值,以前一直能找到的. 其实就是以前给启动JVM的时候,用-Dkey="value" 来传递给JVM参数,就可以System.getProperty(key)了. references:http://stackoverflow.com/questions/9736862/how-to-add-new-system-prope

Java中Map根据键值(key)或者值(value)进行排序实现

我们都知道,java中的Map结构是key->value键值对存储的,而且根据Map的特性,同一个Map中 不存在两个Key相同的元素,而value不存在这个限制.换句话说,在同一个Map中Key是唯一的,而value不唯一.Map是一个接口,我们不能 直接声明一个Map类型的对象,在实际开发中,比较常用的Map性数据结构是HashMap和TreeMap,它们都是Map的直接子类.如果考虑到存取 效率的话,建议使用HashMap数据结构,而如果需要考虑到Key的顺序,建议使用TreeMap,但是

java HashMap中出现重复的key, 求解释

上代码: Person p1 = new Person("xiaoer",1); Person p2 = new Person("san",4); Map<Person,String> maps = new HashMap<Person,String>(); maps.put(p1, "1111"); maps.put(p2, "2222"); System.out.println(maps); map

Java System.getProperty()

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:System.getProperty()方法大全

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 虚