19.8 属性集

属性集(property set)是一种特殊类型的映像结构,Properties继承自Hashtable。它有三个特点:关键字和值都是字符串。

属性集可以用文件保存,也可以从文件中装入。

有两个属性列表:主属性列表和默认属性列表。

实现属性集的类就是properties,它位于包java.util中,实现了Map接口。在这里将简单地介绍有关属性集的一些基本知识。

【实例19.10】java.util.Properties类用来在一个文件中存储键—值对,其中键和值用等号分隔,如以下代码所示。


name=wp

code=2001


将以上代码装载到Properties对象后(可以暂时保存到D盘下的sample.properties文件,如果没有,新建一个),就可以找到两个键(name和code)和两个值(name的值是wp, code的值是2001)。代码如下所示。


01 import java.util.*;

02 import java.io.*;

03 public class LoadSample{

04 public static void main(String args[])throws Exception{

05 Properties prop=new Properties();

06 FileInputStream fis=

07 new FileInputStream("sample.properties");

08 prop.load(fis);

09 prop.list(System.out);

10 System.out.println("\nThe foo property:"+

11 prop.getProperty("foo"));

12 }

13 }


【代码说明】上述代码显示如何装载属性文件,并列出其当前的一组键和值。只需传递这个文件的InputStream给load()方法,就会将每一个键-值对添加到Properties实例中。然后用list()列出所有属性,或者用getProperty()获取单独的属性。

【运行效果】


—listing properties—

name=wp

code=2001

The foo property:null


注意

在list()方法的输出中,键-值对的顺序与它们在输入文件中的顺序不一样,Properties类在散列表中储存一组键-值对,所以不能保证顺序一致。