C++程序员学Java系列之三二:数据结构之属性(Properties)

来源:互联网 发布:软件开发汽车导航 编辑:程序博客网 时间:2024/06/03 14:35

Java Properties 接口

Properties 继承于 Hashtable.表示一个持久的属性集.属性列表中每个键及其对应值都是一个字符串

Properties 类被许多Java类使用。例如,在获取环境变量时它就作为System.getProperties()方法的返回值。

Properties 定义如下实例变量.这个变量持有一个Properties对象相关的默认属性列表。

Properties defaults;

Properties类定义了两个构造方法. 第一个构造方法没有默认值。

Properties()

第二个构造方法使用propDefault 作为默认值。两种情况下,属性列表都为空:

Properties(Properties propDefault)

除了从Hashtable中所定义的方法,Properties定义了以下方法:

序号方法描述1String getProperty(String key)
 用指定的键在此属性列表中搜索属性。2String getProperty(String key, String defaultProperty)
用指定的键在属性列表中搜索属性。3void list(PrintStream streamOut)
 将属性列表输出到指定的输出流。4void list(PrintWriter streamOut)
将属性列表输出到指定的输出流。5void load(InputStream streamIn) throws IOException
 从输入流中读取属性列表(键和元素对)。6Enumeration propertyNames( )
按简单的面向行的格式从输入字符流中读取属性列表(键和元素对)。7Object setProperty(String key, String value)
 调用 Hashtable 的方法 put。8void store(OutputStream streamOut, String description)
 以适合使用  load(InputStream)方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。

实例

import java.util.Iterator;import java.util.Properties;import java.util.Set;public class JavaTest {public static void main(String[] args) {// TODO Auto-generated method stubProperties capitals = new Properties();capitals.put("a1", "aaa");capitals.put("b2", "bbb");capitals.put("c3", "ccc");String str;Set<Object> states = capitals.keySet();Iterator<Object> iter = states.iterator();while (iter.hasNext()){str = (String) iter.next();System.out.println(str + " is " + capitals.getProperty(str));}System.out.println();str = capitals.getProperty("d4","Not Found");System.out.println(str);}}
输出:

a1 is aaab2 is bbbc3 is cccNot Found






阅读全文
1 0