Properties集合
Properties概述
Properties:属性集合类。是一个可以和IO流相结合使用的集合类。
Properties:可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。
是Hashtable的子类,说明是一个Map集合
Properties作为Map集合的使用
Properties的特殊功能
public ObjectsetProperty(String key,String value):添加元素
public StringgetProperty(String key):获取元素
publicSet<String> stringPropertyNames():获取所有的键的集合
Properties和IO流的结合使用
public voidload(Reader reader):把文件中的数据读取到集合中
public voidstore(Writer writer,String comments):把集合中的数据存储到文件中
例子1:Properites的使用
/*
* Properties集合类的使用
*/
public classPropertiesDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Propertiesprop = newProperties();
//添加元素
prop.put("it001","hello");
prop.put("it002","world");
prop.put("it003","java");
//遍历集合
Set<Object>set = prop.keySet();
for(Object key : set){
Objectvalue = prop.get(key);
System.out.println(key + "---" + value);
}
}
}
运行结果:
it003---java
it002---world
it001---hello
例子2:Properties特殊功能的使用
import java.util.Properties;
import java.util.Set;
/*
* Properties的特殊功能:
publicObject setProperty(String key,String value):添加元素
publicString getProperty(String key):获取元素
publicSet<String> stringPropertyNames():获取所有的键的集合
*/
public classPropertiesDemo2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//创建集合对象
Propertiesprop = newProperties();
//添加元素
prop.setProperty("张三", "30");
prop.setProperty("李四", "40");
prop.setProperty("王五", "50");
//public Set<String> stringPropertyNames():获取所有键的集合
Set<String>set = prop.stringPropertyNames();
for(String key : set){
Stringvalue = prop.getProperty(key);
System.out.println(key + "---" + value);
}
}
}
运行结果:
王五---50
张三---30
李四---40
例子3:Properties的load()和store()功能
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
import java.util.Properties;
/*
* 这里的集合必须是Properties集合:
*public void load(Reader reader):把文件中的数据读取到集合中
*public void store(Writer writer,String comments):把集合中的数据存储到文件
*
* 单机版游戏:
* 进度保存和加载。
* 三国群英传,三国志,仙剑奇侠传...
*
* 吕布=1
* 方天画戟=1
*/
public class PropertiesDemo3 {
publicstatic void main(String[] args) throws IOException {
myLoad();
myStore();
}
privatestatic void myStore() throws IOException {
//创建集合对象
Propertiesprop = new Properties();
prop.setProperty("林青霞","27");
prop.setProperty("武鑫","30");
prop.setProperty("刘晓曲","18");
//publicvoid store(Writer writer,String comments):把集合中的数据存储到文件
Writerw = new FileWriter("name.txt");
prop.store(w,"helloworld");
w.close();
}
privatestatic void myLoad() throws IOException {
Propertiesprop = new Properties();
//public void load(Reader reader):把文件中的数据读取到集合中
//注意:这个文件的数据必须是键值对形式
Readerr = new FileReader("a.txt");
prop.load(r);
r.close();
System.out.println("prop:"+ prop);
}
}