`

16、java.lang.System类

阅读更多

一、System类

 

  1. System是final类
  2. 构造函数是私有的,不能被实例化。
  3. 类中的方法和属性都是静态的。
  4. 在 System 类提供的设施中,有标准输入、标准输出和错误输出流;
  5. 对外部定义的属性和环境变量的访问;
  6. 加载文件和库的方法;
  7. 还有快速复制数组的一部分的实用方法。 

二、常用属性和方法

 

public final class System {

    /* First thing---register the natives */
    private static native void registerNatives();
    static {
        registerNatives();
    }

    /** Don't let anyone instantiate this class */
    private System() {
    }

	//字段********************************************************

	//“标准”输入流。此流已打开并准备提供输入数据。默认设备是键盘
    public final static InputStream in = nullInputStream();

	//“标准”输出流。此流已打开并准备接受输出数据。默认设备是dos窗口
    public final static PrintStream out = nullPrintStream();

	//“标准”错误输出流。此流已打开并准备接受输出数据。
    public final static PrintStream err = nullPrintStream();


	//方法************************************************************

	//终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止
	public static void exit(int status){}

	//运行垃圾回收器
	public static void gc(){}

	//返回一个不能修改的当前系统环境的字符串映射视图
	public static Map<String,String> getenv(){}

	//获取指定的环境变量值。环境变量是一个取决于系统的外部指定的值,操作系统环境,比如环境变量path等
	public static String getenv(String name){}

	//确定当前的系统属性。jvm环境
	public static Properties getProperties(){}

	//获取指定键指示的系统属性。
	public static String getProperty(String key){}

	//将系统属性设置为 Properties 参数。
	public static void setProperties(Properties props){}

	//设置指定键指示的系统属性。
	public static String setProperty(String key,
                                 String value){}

	//重新分配“标准”错误输出流。
	public static void setErr(PrintStream err){}

	//重新分配“标准”输入流
	public static void setIn(InputStream in){}

	//重新分配“标准”输出流。
	public static void setOut(PrintStream out){}
}

 

三、java.util.Properties类

 

  1. Properties 类表示了一个持久的属性集。
  2. 一个属性列表可包含另一个属性列表作为它的“默认值”;如果未能在原有的属性列表中搜索到属性键,则搜索第二个属性列表。
  3. Properties 可保存在流中或从流中加载。
  4. 属性列表中每个键及其对应值都是一个字符串。
  5. 因为 Properties 继承于 Hashtable,所以可对 Properties 对象应用 put 和 putAll 方法。
  6. 但不建议使用这两个方法,因为它们允许调用者插入其键或值不是 String 的项。
  7. 相反,应该使用 setProperty 方法。
  8. 如果在“不安全”的 Properties 对象(即包含非 String 的键或值)上调用 store,list,propertyNames方法,则该调用将失败。
public class Properties extends Hashtable<Object,Object>
{
	//字段****************************************

	//一个属性列表,包含属性列表中所有未找到值的键的默认值
	protected Properties defaults;

	//构造方法****************************************
	
	//创建一个无默认值的空属性列表。
	public Properties(){}

	//创建一个带有指定默认值的空属性列表。
	public Properties(Properties defaults){}


	//常用方法****************************************
	
	//用指定的键在此属性列表中搜索属性,如果未找到属性,则此方法返回 null。 
	public String getProperty(String key){}

	//用指定的键在属性列表中搜索属性,如果未找到属性,则此方法返回默认值变量
	public String getProperty(String key,
                          String defaultValue){}

	//将属性列表输出到指定的输出流。
	public void list(PrintStream out){}
	public void list(PrintWriter out){}

	/**
	 *从输入流中读取属性列表(键和元素对)。
	 *输入流按 load(Reader) 中所指定的、简单的面向行的格式,
	 *并假定使用 ISO 8859-1 字符编码;所以汉字会出现乱码
	 */
	public void load(InputStream inStream)
          throws IOException{}
	public void load(Reader reader)
          throws IOException{}

	//将指定输入流中由 XML 文档所表示的所有属性加载到此属性表中。
	public void loadFromXML(InputStream in)
                 throws IOException,
                        InvalidPropertiesFormatException{}

	//返回属性列表中所有键的枚举,如果在主属性列表中未找到同名的键,则包括默认属性列表中不同的键。
	public Enumeration<?> propertyNames(){}

	//调用 Hashtable 的方法 put。使用 getProperty 方法提供并行性。强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果
	public Object setProperty(String key,
                          String value){}

	//以适合使用 load(InputStream) 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流
	public void store(OutputStream out,
                  String comments)
           throws IOException{}

	//以适合使用 load(Reader) 方法的格式,将此 Properties 表中的属性列表(键和元素对)写入输出字符
	public void store(Writer writer,
                  String comments)
           throws IOException{}

	//发出一个表示此表中包含的所有属性的 XML 文档。comment是注释
	public void storeToXML(OutputStream os,
                       String comment)
                throws IOException{}

	//使用指定的编码发出一个表示此表中包含的所有属性的 XML 文档
	public void storeToXML(OutputStream os,
                       String comment,
                       String encoding)
                throws IOException{}
	/**
	 *返回此属性列表中的键集,
	 *其中该键及其对应值是字符串,
	 *如果在主属性列表中未找到同名的键,则还包括默认属性列表中不同的键。
	 *其键或值不是 String 类型的属性被忽略。
	 */
	public Set<String> stringPropertyNames(){}


	//其他方法继承自HashTable和Object
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics