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类定义了一些与系统 ...
随机推荐
- HDUOJ---1862EXCEL排序
EXCEL排序 Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- web服务器一些概念
一.Web服务器 Web服务基于HTTP协议,HTTP协议基于TCP/IP协议. HTTP请求底层必然是套接字,也就是TCP协议,HTTP服务器就是监听端口的一个守护进程. 它负责HTTP连接的建立. ...
- Chrome 错误代码:ERR_UNSAFE_PORT
最近在用Nginx发布多个站点测试,使用了87.88端口, 88端口访问正常,87端口就怎么也访问不了, 点击更多,提示错误代码:ERR_UNSAFE_PORT 不安全的端口?尼玛就只靠端口就能解决不 ...
- 以宽字符形式读整个文件的内容(wifstream的使用)
// TestShlwAPI.cpp : 定义控制台应用程序的入口点.// #include "stdafx.h" #include <iostream>using s ...
- PLSQL_统计信息系列05_统计信息的比较
20150506 Created By BaoXinjian
- Python2 字典 has_key() 方法
描述 Python2 字典 has_key() 方法用于判断键(key)是否存在于字典(D)中,如果键在字典中返回True,否则返回False. 官方文档推荐用 in 操作符,因为它更短更通俗易懂.h ...
- Win7没有telnet怎么办
http://jingyan.baidu.com/article/8065f87fc3b31123312498e5.html
- js数组设置值操作
js中给数组中添加新值的方式: var flow=[]; for(var i=0;i<21;i++){ flow.push(Math.floor(Math.random()*(30+((i%12 ...
- find命令之exec和xargs
exec: find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了. exec解释: -exec 参数后面跟的是c ...
- c++中带返回值函数没写return能通过编译但运行时会出现奇怪问题
c++中带返回值函数没写return能通过编译但运行时会出现奇怪问题 例如: string myFunc(){ theLogics(); } 发现调用: myFunc(); 崩溃. 但调用: cout ...