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类在散列表中储存一组键-值对,所以不能保证顺序一致。