java中的System.getproperty(String key) 的key 在这里找

来源:互联网 发布:怎么投诉淘宝买家 编辑:程序博客网 时间:2024/05/16 23:49

在看《java与模式》其中一个例子用到了system.getproperty(String key)

System.getProperty("user.dir");
很奇怪他怎么知道这个key就是:“user.dir”。百度了半天 很多人都把这些 key 都贴上了。但是具体在哪里找,翻了半天才找到:

javaSe API 里  System 这个类里 getProperties 方法下有这样的说明:


getProperties

public static Properties getProperties()
确定当前的系统属性。

首先,如果有安全管理器,则不带参数直接调用其 checkPropertiesAccess 方法。这可能导致一个安全性异常。

getProperty(String) 方法使用的当前系统属性集合作为Properties 对象返回。如果没有当前系统属性集合,则先创建并初始化一个系统属性集合。这个系统属性集合总是包含以下键的值:

键相关值的描述java.versionJava 运行时环境版本java.vendorJava 运行时环境供应商java.vendor.urlJava 供应商的 URLjava.homeJava 安装目录java.vm.specification.versionJava 虚拟机规范版本java.vm.specification.vendorJava 虚拟机规范供应商java.vm.specification.nameJava 虚拟机规范名称java.vm.versionJava 虚拟机实现版本java.vm.vendorJava 虚拟机实现供应商java.vm.nameJava 虚拟机实现名称java.specification.versionJava 运行时环境规范版本java.specification.vendorJava 运行时环境规范供应商java.specification.nameJava 运行时环境规范名称java.class.versionJava 类格式版本号java.class.pathJava 类路径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用户的当前工作目录

系统属性值中的多个路径是用平台的路径分隔符分隔的。

注意,即使安全管理器不允许执行 getProperties 操作,它可能也会选择允许执行 getProperty(String) 操作。

返回:
系统属性
抛出:
SecurityException - 如果安全管理器存在并且其checkPropertiesAccess 方法不允许访问系统属性。
另请参见:
setProperties(java.util.Properties),SecurityException,SecurityManager.checkPropertiesAccess(),Properties