Java : Properties 属性操作

Properties 属性操作

在涉及国际化操作的时候, 我们涉及过一种属性文件(资源文件: *.properties), 在这种文件里面, 其内容的保存格式为: "key=value"的形式, 实际上是通过 ResourceBundle 类读取的时候只能够读取内容, 而如果想要编辑内容, 那么就要通过 Properties 类来完成了, 也就是说这个类专门做属性处理的.

Properties 是 Hashtable 的子类, 并且这个类定义:

public class Properties
	extends Hashtable<Object,Object>

所有的属性的信息, 实际上都是以字符串的形式出现的, 在进行属性操作的时候往往会直接使用Properties的子类完成.

- 设置属性:

public Object setProperty(String key, String value)

- 取得属性:

public String getProperty(String key)  // 如果没有属性值, 返回的就是 null

public String getProperty(String key, String defaultValue)  // 没有属性值, 返回的就是默认值

范例: 观察属性操作

package com.beyond.nothing;

import java.util.Properties;

public class test {
    
    
    public static void main(String[] args) {
    
    

        Properties pro = new Properties();
        pro.setProperty("bj", "BeiJing");
        pro.setProperty("Tj", "TianJing");

        System.out.println(pro.getProperty("bj"));;
        System.out.println(pro.getProperty("nj"));;


    }
}

在这里插入图片描述

在Properties 类里面提供有一个IO支持的方法:

  • 保存属性:
public void store(Writer writer, String comments) throws IOException
  • 读取属性:
public void load(InputStream inStream) throws IOException

范例: 将属性输出到文件

package com.beyond.nothing;

import java.io.*;
import java.util.Properties;

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

        Properties pro = new Properties();
        Properties pro1 = new Properties();
        pro.setProperty("bj", "BeiJing");
        pro.setProperty("Tj", "TianJing");

        // 将属性保存到本地文件
        pro.store(new FileOutputStream(new File("D:"+File.separator+"area.properties")), "Area Info");

        // 从本地文件读取信息
        pro1.load(new FileInputStream(new File("D:"+File.separator+"area.properties")));
        System.out.println(pro1.getProperty("bj"));
    }
}

总结

对于Properties 而言, 这种输入和输出并不常见, 主要使用其来保存属性信息

  • Properties 只能够操作String, 它可以进行远程属于内容的操作

猜你喜欢

转载自blog.csdn.net/Beyond_Nothing/article/details/113354770
今日推荐