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类定义了一些与系统 ...
随机推荐
- iOS 网络编程 TCP/UDP HTTP
一.HTTP协议的主要特点: 1. CS模式 2. 简单快速:只需要传送请求方法和路径.(常用方法有GET,HEAD,POST) 3. 灵活:任意对象都可以,类型由Content-Type加以标记 4 ...
- php数据库操作类(转)
<?php Class DB { private $link_id; private $handle; private $is_log; private $t ...
- PostgreSQL与MySQL常用命令比较[转]
PostgreSQL与MySQL常用命令比较 原文链接: http://www.phpwell.com/?p=174 PostgreSQL MySQL 服务启动:1)#service postgres ...
- iPhone手机屏幕的尺寸180330更新
以下是 iPhone的型号和对应的屏幕宽高 英寸 宽 高 厚度 3.5 320 480 4s ipad 系列 4 320 568 5 5s 4.7 375 66 ...
- 正确关闭Redis
1.首先关闭单机版 我的单机版 是放在redis文件夹下面的 首先你要启动你的单机版redis 直接shutdown quit 退出去 ps aux|grep redis 查看运行的redis 关闭 ...
- Zookeeper监控工具
Zookeeper的常用开源监控工具可以参考:http://zqhxuyuan.github.io/2016/12/31/BigData-Monitor-Tool
- JVM性能监控
有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock Contention) Java进程消耗CPU过高 这些问题在日常开发中可能被很多人忽 ...
- python学习笔记——线程threading (一)
1 线程threading 1.1 基本概述 也被称为轻量级的进程. 线程是计算机多任务编程的一种方式,可以使用计算机的多核资源. 线程死应用程序中工作的最小单元 1.2 线程特点 (1)进程的创建开 ...
- python学习笔记——multiprocessing 多进程模块Process
系统自带的fork模块创建的多进程是基于Linux或Unix平台的,而window平台并不支持: python中的multiprocess为跨平台版本的多进程模块,支持子进程.通信和共享数据.执行不同 ...
- Python学习笔记020——数据库基本操作
本数据库的操作是Linux虚拟机平台下进行的 1 启动和链接MySQL服务 1.1 服务端 (1)查看服务状态 sudo /etc/init.d/mysql stauts (2)启动服务端 sudo ...