美文网首页
7.Properties子类(Hashtable子类 了解)

7.Properties子类(Hashtable子类 了解)

作者: 秋笙fine | 来源:发表于2019-02-12 23:26 被阅读0次

国际化程序特点:同一个程序,根据不同的语音环境选择资源文件,所有的资源文件后缀必须是"*.properties"。

Properties类的操作特点:
Properties是Hashtable的子类,主要是进行属性的操作(属性的最大特点是利用字符串设置key和value)
Properties类的定义结构:

public class Properties extends Hashtable<Object,Object>

在使用Properties类的时候不需要设置泛型类型,因为从它一开始出现,就只能够保存String,在Properties类里面,主要使用如下的操作方法

public Object setProperties(String key,String value)

以上设置属性

public String getProperties(String key):

如果key不存在,返回null。

public String getProperties(String key,String defaultValue):

如果key不存在,返回默认值

范例:属性的基本操作


    public static void main(String[] args) throws Exception {
        Properties pro=new Properties();
        pro.setProperty("BJ", "A");
        pro.setProperty("NJ", "B");
        System.out.println(pro.getProperty("BJ"));
        System.out.println(pro.getProperty("CJ"));
        System.out.println(pro.getProperty("CCJ","C"));
    }
image.png

在Properties类里面提供有数据的输出操作。

public void store(OutputStream out,String comments) throws IOException

范例:将属性信息保存在文件里


    public static void main(String[] args) throws Exception {
        Properties pro=new Properties();
        pro.setProperty("BJ", "A");
        pro.setProperty("NJ", "B");
        //资源文件一般都要是*.properties对应
        pro.store(new FileOutputStream(new File("E:"+File.separator+"area.properties")), "Area Info");
    }

然后打开E盘,的确有area.properties.


image.png

也可以从指定的输入流中读取属性信息。

public void load(InputStream inStream) throws IOException

范例:通过文件流读取属性内容

    public static void main(String[] args) throws Exception {
        Properties pro=new Properties();
    
        pro.load(new FileInputStream(new File("E:"+File.separator+"area.properties")));
        System.out.println(pro.getProperty("BJ"));
    }
image.png

对于属性文件(资源文件)而言,除了可以使用Properties类读取之外,也可以使用ResourceBundle类读取,这也就是将输出的属性文件统一设置的后缀为"*.properties"的原因所在。

总结:

1.资源文件的特点
key=value
key=value
2.资源文件的数据一定都是字符串

相关文章

网友评论

      本文标题:7.Properties子类(Hashtable子类 了解)

      本文链接:https://www.haomeiwen.com/subject/nbmleqtx.html