System这个类来源:

public final class System extends Object

System类包含若干个有用的类字段和方法,而且不能被实例化。
System类提供的工具包括标准输入,标准输出和标准错误输出流;
能够获得外部定义的属性和环境变量;
作为一种加载文件和库的方法;
为快速复制数组的一部分提供了工具方法。

The System class contains several useful class fields and methods. It cannot be instantiated.
Among the facilities provided by the System class are standard input,
standard output, and error output streams;
access to externally defined properties and environment variables;
a means of loading files and libraries;
and a utility method for quickly copying a portion of an array.

System中的方法getProperties():

public static Properties getProperties()

确定当前系统的属性。
首先,如果存在安全管理员,将首先通过无参调用它的checkPropertiesAccess方法。
这可能会抛出一个安全异常(security exception)。

通过getProperties()方法把当前系统的属性以一个Properties对象的方式返回。
如果当前没有系统属性,那么这个方法首先会创建并初始化一个系统属性的集合。
这个系统属性的集合将总包含如下的键:

key 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

System的getProperty(String key)方法的一个原型为:

public static String getProperty(String key)

根据执行的key来获得系统属性。
如果存在安全管理员,将首先通过无参调用它的checkPropertyAccess方法。这可能会抛出安全异常。

如果当前没有系统属性的集合,将会像getProperties那样先创建并初始化一个系统属性的集合。
参数:
key - 系统属性的名称。
返回值:
系统属性的字符串值,或者返回null如果没有和键对应的属性。
异常抛出:
SecurityException - 如果存在安全管理员而且它的checkPropertyAccess不允许获得执行的系统属性。
NullPointerException - 如果键是null。
IllegalArgumentException - 如果键是empty。

getProperty的另一个函数原型:

public static String getProperty(String key, String def)

根据执行的key来获得系统属性。
如果存在安全管理员,将首先通过无参调用它的checkPropertyAccess方法。这可能会抛出安全异常。

如果当前没有系统属性的集合,将会像getProperties那样先创建并初始化一个系统属性的集合。
参数:
key - 系统属性的名称。
def - 一个默认地值。
返回值:
系统属性的字符串,或者默认值如果键对应的属性不存在
异常抛出:
SecurityException - 如果存在安全管理员而且它的checkPropertyAccess不允许获得执行的系统属性。
NullPointerException - 如果键是null。
IllegalArgumentException - 如果键是empty。

package com.Properties.test;

import java.util.Enumeration;
import java.util.Properties; public class testProperties {
public static void main(String[] args) {
// System.getProperties()返回的是一个Properties对象
// 方法一
Properties p = System.getProperties();
p.list(System.out); // 方法二
String a;
Enumeration e = System.getProperties().propertyNames();
while(e.hasMoreElements()) {
a = (String) e.nextElement();
System.out.println( a + "=" +System.getProperty(a)); System.out.println( a + "=" +System.getProperty(a,"tuhooo"));
}
// 最后如果没有这个键,就会用默认的键值代进去
System.out.println( "Is this java" + "=" +System.getProperty("Is this java","tuhooo"));
}
}

End

最新文章

  1. css3动画特效:上下晃动的div
  2. Maven的配置
  3. JavaScript基础系列目录(2014.06.01~2014.06.08)
  4. schemaLocation value = 'xxxxxxxxxxxx' must have even number of URI's
  5. CSS:选择器大全
  6. Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
  7. Servlet中如何实现页面转发
  8. enum枚举类型 的用法
  9. Java 使用httpclient Post与cxf 发布的Webservice通信
  10. java设计模式单例模式 ----懒汉式与饿汉式的区别
  11. centos 6.8 设置svn钩子同步至web目录
  12. Flask+Nginx+Supervisor+Gunicorn+HTTPS部署教程(CentOs)
  13. 超简DbHelper
  14. C++标准库和标准模板库(转)
  15. Linux基础:用tcpdump抓包(转)
  16. Highcharts实现图形报表(我主要实现javaweb开发的图形报表)
  17. Cannot find snapshot in models/VGGNet/VOC0712/SSD_300x300
  18. PHPcms企业黄页中,会员注册之后提示经营模式不得少于1个字符 的解决办法
  19. hdu 1018 Big Number 数学结论
  20. SQL Server2012中的Throw语句尝试 RAISERROR和THROW比较

热门文章

  1. IT忍者神龟之 oracle行转列、列转行
  2. bzoj1296【SCOI2009】粉刷匠
  3. Spring Framework Ecosystem – Introduction to Spring Projects
  4. [CXF REST标准实战系列] 一、JAXB xml与javaBean的转换(转)
  5. HDUOJ--------1003 Max Sum
  6. SQLite简单介绍
  7. 【php】基础学习2
  8. Python练习笔记——计算输入日期为改年的第几天、星期几
  9. linux程序设计——套接字选项(第十五章)
  10. 使用Apktools反编译apk应用