属性集
1.概述
java.util.Properties 继承于 Hashtable ,来表示一个持久的属性集。它使用键值结构存储数据,每个键及其对应值都是一个字符串。该类也被许多Java类使用,比如获取系统属性时,System.getProperties 方法就是返回一个 Properties 对象。
2.构造方法
public Properties() :创建一个空的属性列表。
3.基本的存储方法
public Object setProperty(String key, String value) : 保存一对属性。
public String getProperty(String key) :使用此属性列表中指定的键搜索属性值。
public Set stringPropertyNames() :所有键的名称的集合。
4.基本使用
package zifu;
import java.util.Properties;
import java.util.Set;
public class Demo04 {
public static void main(String[] args) {
Properties pro = new Properties();
pro.setProperty("name","zhangsan");
pro.setProperty("age","20");
pro.setProperty("didian","shenzhen");
//System.out.println(pro.getProperty("name"));
Set<String> st = pro.stringPropertyNames();
for (String temp:st) {
String value = pro.getProperty(temp);
System.out.println(value);
}
}
}
5.与流相关的方法
public void load(InputStream inStream) : 从字节输入流中读取键值对。
public void load(Reader r) : 从字符输入流中读取键值对。
注意问题:
Properties集合加载的文件,建议扩展名写 .properties
properties文件中的内容,一个键值对占用一行 格式 键=值
用#可以注释掉.properties文件中的内容
package zifu;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
import java.util.Set;
public class Demo05 {
public static void main(String[] args) throws IOException {
FileInputStream fr = new FileInputStream("day06\\src\\zifu\\a.properties");
Properties pro = new Properties();
pro.load(fr);
Set<String> key = pro.stringPropertyNames();
for (String temp:key) {
String value = pro.getProperty(temp);
System.out.println(temp + ":" + value);
}
}
}