java.util.Properties<k , v> extends Hashtable< k , v> implements Map< k , v>
作用:可以从流中加载或把数据保存到流中(流连接文件)
唯一一个可以和IO流相结合的双列集合
因为存放的都是键值对,一般可以用来保存配置文件、账号密码等信息,读取时会更方便
相关方法
写入:使用Properties中的store() 方法将集合中的临时数据,写到永久保存的硬盘中
读出:使用Properties中的load() 方法将硬盘中的数据,读取到集合中使用
String getProperty(String key) : 获取双列集合中对应键的值
Set<String> stringPropertyNames() : 返回该集合的键集
使用范例
写入:
package com.IO.properties;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
public class DemoStore {
public static void main(String[] args) throws IOException {
FileWriter fr = new FileWriter("src\\com\\IO\\i.txt"); //字符输入流对象
Properties pt = new Properties();
pt.setProperty("张三","19"); //往集合中存入数据
pt.setProperty("李四","29");
pt.setProperty("王五","13");
pt.setProperty("赵六","13");
pt.store(fr,"save data"); //调用store方法往流中存数据,""内放注释内容
}
}
读出:
package com.IO.properties;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;
import java.util.Set;
public class DemoLoad {
public static void main(String[] args) throws IOException {
//遍历输出i.txt文件中所有键值对
propertiesLoad();
}
public static void propertiesLoad() throws IOException{
//建立流对象,连接文件
FileReader fileReader = new FileReader("src\\com\\IO\\i.txt");
//创建对应的集合
Properties properties = new Properties();
//将文件内容上传到集合中
properties.load(fileReader);
//获取集合的key存入单列集合Set中
Set<String> stringSet = properties.stringPropertyNames();
//遍历单列集合
for (String s : stringSet) {
System.out.println("键:" + s + " 值:" + properties.getProperty(s));
}
//关闭流
fileReader.close();
}
}