1.Properties类介绍
JDK API文档描述:
Properties
类表示了一个持久的属性集。Properties
可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。
一个属性列表可包含另一个属性列表作为它的“默认值”;如果未能在原有的属性列表中搜索到属性键,则搜索第二个属性列表。
因为 Properties
继承于 Hashtable
,所以可对 Properties
对象应用 put
和 putAll
方法。但不建议使用这两个方法,因为它们允许调用者插入其键或值不是 String
的项。相反,应该使用 setProperty
方法。如果在“不安全”的 Properties
对象(即包含非 String
的键或值)上调用 store
或 save
方法,则该调用将失败。类似地,如果在“不安全”的 Properties
对象(即包含非 String
的键)上调用 propertyNames
或 list
方法,则该调用将失败。
2.Properties类的特点
a)该集合不能写泛型
b)可以持久化的属性集。键值可以存储到集合中,也可以存储到硬盘、U盘等
c)可以和IO流有关的技术结合使用
3.Properties类中的一些方法
测试文件内容
package com.xiao.properties;
import org.junit.Test;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Properties;
/**
* @Author 笑笑
* @Date 19:25 2018/05/19
*/
public class PropertiesDemo {
//Object setProperty(String key, String value)
@Test
public void test_01(){
Properties pro = new Properties();
pro.setProperty("a","123");
pro.setProperty("b","123");
pro.setProperty("c","123");
System.out.println(pro);
}
// String getProperty(String key) 用指定的键在此属性列表中搜索属性。
@Test
public void test_02(){
Properties pro = new Properties();
pro.setProperty("a","123");
pro.setProperty("b","123");
pro.setProperty("c","123");
String v = pro.getProperty("a");
System.out.println(v);
}
//void load(InputStream inStream) 从输入流中读取属性列表(键和元素对)
@Test
public void test_03() throws Exception{
Properties pro = new Properties();
InputStream in = new FileInputStream("c:\\pro.properties");
//调用方法load,传入输入流
pro.load(in);
//关闭流
in.close();
System.out.println(pro);
}
}