Properties类
Properties
类表示了一个持久的属性集。Properties
可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。
特点:
1、Hashtable的子类,map集合中的方法都可以用。
2、该集合没有泛型。键值都是字符串。
3、它是一个可以持久化的属性集。键值可以存储到集合中,也可以存储到持久化的设备(硬盘、U盘、光盘)上。键值的来源也可以是持久化的设备。
4、有和流技术相结合的方法。
将集合中内容存储到文件
需求:使用Properties集合,完成把集合内容存储到IO流所对应文件中的操作
分析:
1,创建Properties集合
2,添加元素到集合
3,创建流
4,把集合中的数据存储到流所对应的文件中
stroe(Writer,comments)
store(OutputStream,commonts)
把集合中的数据,保存到指定的流所对应的文件中,参数commonts代表对描述信息
5,关闭流
//代码演示: public class PropertiesDemo02 { public static void main(String[] args) throws IOException { //1,创建Properties集合 Properties prop = new Properties(); //2,添加元素到集合 prop.setProperty("周迅", "张学友"); prop.setProperty("李小璐", "贾乃亮"); prop.setProperty("杨幂", "刘恺威"); //3,创建流 FileWriter out = new FileWriter("prop.properties"); //4,把集合中的数据存储到流所对应的文件中 prop.store(out, "save data"); //5,关闭流 out.close(); } }
读取文件中的数据,并保存到集合
需求:从属性集文件prop.properties 中取出数据,保存到集合中
分析:
1,创建集合
2,创建流对象
3,把流所对应文件中的数据 读取到集合中
load(InputStream) 把指定流所对应的文件中的数据,读取出来,保存到Propertie集合中
load(Reader)
4,关闭流
5,显示集合中的数据
//代码演示: public class PropertiesDemo03 { public static void main(String[] args) throws IOException { //1,创建集合 Properties prop = new Properties(); //2,创建流对象 FileInputStream in = new FileInputStream("prop.properties"); //FileReader in = new FileReader("prop.properties"); //3,把流所对应文件中的数据 读取到集合中 prop.load(in); //4,关闭流 in.close(); //5,显示集合中的数据 System.out.println(prop); } }
注意:使用字符流FileReader就可以完成文件中的中文读取操作了