System类及其getProterties( )和getProperty( )
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
System类及其getProterties( )和getProperty( )的更多相关文章
- java中的System类
System类代表系统,系统级的很多属性和控制方法都放置在该类的内部.该类位于java.lang包. 由于该类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类.其内部的成员变 ...
- Java api 入门教程 之 JAVA的SYSTEM类
System类代表系统,系统级的很多属性和控制方法都放置在该类的内部.该类位于java.lang包. 由于该类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类.其内部的成员变 ...
- System类
System类是一些与系统相关属性和方法的集合,而且System类中所有的属性都是静态的,要想引用这些属性和方法,直接使用System类调用即可. //======================== ...
- java 的SYSTEM类【转】
java 的SYSTEM类[转] Posted on 2009-12-03 16:46 火之光 阅读(728) 评论(0) 编辑 收藏 System类代表系统,系统级的很多属性和控制方法都放置在该类的 ...
- System类及其常用函数
System 类包含一些有用的类字段和方法.它不能被实例化. 常用方法: 1.static void arraycopy(Object src, int srcPos, Object dest, in ...
- java中System类简介(转)
上次面试中遇到的一个问题,问到System.out.println()中的out是不是内部类[不是内部类],当时就给问蒙了,直观感觉out应该是System类的一个属性,跟内部类有什么关系?而且之前整 ...
- java学习笔记之System类
System类常用总结 System类概述 java.lang.System类,系统属性信息工具类 常用静态方法: 1. public static long currentTimeMillis() ...
- java.lang.system 类源码解读
通过每块代码进行源码解读,并发现源码使用的技术栈,扩展视野. registerNatives 方法解读 /* register the natives via the static initializ ...
- JAVA_SE基础——67.System类
System类对大家都不陌生吧! 以前经常需要打印结果时使用的都是"System.out.println()"语句,这句代码中就使用了System类.System类定义了一些与系统 ...
随机推荐
- redis lpop key 当key不存在时,返回nil , 监测redis执行语句是否正常执行
Lpop key 返回值: 列表的头元素. 当key 不存在时, 返回 nil . 需求: 开发在执行 lpop key 时, 出现问题 , 执行语句卡住, 不能执行下去 , 需对此做一个监测 由于 ...
- vc 6.0 的sdk下载地址
很多人在为vc6.0sdk版本太老发愁吧,今天在晚上找了半天,终于找到了下载的地方,和大家分享一下. Windows Server 2003 Platform SDKLast Updated: Feb ...
- 开源的数据可视化JavaScript图表库:ECharts
ECharts (Enterprise Charts 商业产品图表库)是基于HTML5 Canvas的一个纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表.创新的拖拽 ...
- RabbitMQ概念及环境搭建(四)RabbitMQ High Availability
#################################################### RabbitMQ High Availability #################### ...
- Unix环境高级编程(五)进程环境
本章主要介绍了Unix进程环境,包含main函数是如何被调用的,命令行参数如何传递,存储方式布局,分配存储空间,环境变量,进程终止方法,全局跳转longjmp和setjmp函数及进程的资源限制. ma ...
- hdu 1853 Cyclic Tour 最大权值匹配 全部点连成环的最小边权和
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1853 Cyclic Tour Time Limit: 1000/1000 MS (Java/Others) ...
- Objective-C学习笔记(十八)——对象方法和类方法的声明,定义及调用
在程序设计中,函数的使用无疑大大简化了代码的编写.提高代码执行的效率.降低反复代码. 所以如今我们来具体研究一下方法. 本样例还是以People类为例. (一)代码一: (1)先在People.h中声 ...
- iOS 关于 设计模式 与网友讨论实录
关于 设计模式 与网友讨论实录 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留 ...
- Windows 7下在DebugView中显示调试信息
自Windows Vista以来,调试信息在默认状态下是不显示的.为了显示调试信息,按照如下步骤设置即可: 1. 打开注册表: 2. 在HKLM\SYSTEM\CuurentControlSet\Co ...
- DevExpress下拉多选框 CheckComboboxEdit、CheckedListBoxControl
CheckComboboxEdit //清空项 checkedComboBoxEdit1.Properties.Items.Clear(); //自定义数组 ...