io流--Properties
Properties
是唯一一个与IO流相交互的集合Properties
类表示了一个持久的属性集。
Properties
可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。
特点:定死了键值对是String类型的
1、Hashtable的子类,map集合中的方法都可以用。
2、该集合没有泛型。键值都是字符串。
3、它是一个可以持久化的属性集。键值可以存储到集合中,也可以存储到持久化的设备(硬盘、U盘、光盘)上。键值的来源也可以是持久化的设备。
4、有和流技术相结合的方法。
load(InputStream) 把指定流所对应的文件中的数据,读取出来,保存到Propertie集合中
load(Reader)
store(OutputStream,commonts)把集合中的数据,保存到指定的流所对应的文件中,参数commonts代表对描述信息
stroe(Writer,comments);
package com.oracle.demo01; import java.util.Properties; public class Demo01 { public static void main(String[] args) { //创建Properties集合 Properties pro=new Properties(); //向集合中存键值对 pro.put("name", "tom"); pro.put("age", "18"); //取集合中数据 String name=pro.getProperty("name"); String age=pro.getProperty("age"); System.out.println(name+"..."+age); }
将集合中内容存储到文件
分析:
1,创建Properties集合
2,添加元素到集合
3,创建流
4,把集合中的数据存储到流所对应的文件中
stroe(Writer,comments)
store(OutputStream,commonts)
把集合中的数据,保存到指定的流所对应的文件中,参数commonts代表对描述信息
5,关闭流
package com.oracle.demo01; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.Properties; public class demo02 { public static void main(String[] args) throws IOException { // 明确数据源 FileReader fr= new FileReader("D:\\demo0611\\pro.properties"); //创建properties对象 Properties pro=new Properties(); //从文件中将键值对读取到集合pro中 pro.load(fr); System.out.println(pro); } }
1.1 读取文件中的数据,并保存到集合
需求:从属性集文件prop.properties 中取出数据,保存到集合中
分析:
1,创建集合
2,创建流对象
3,把流所对应文件中的数据 读取到集合中
load(InputStream) 把指定流所对应的文件中的数据,读取出来,保存到Propertie集合中
load(Reader)
4,关闭流
5,显示集合中的数据
代码演示:
package com.oracle.demo01; import java.io.FileWriter; import java.io.IOException; import java.util.Properties; public class demo03 { public static void main(String[] args) throws IOException { //明确目的地 FileWriter fw =new FileWriter("D:\\demo0611\\pro.properties"); //创建 Properties集合 Properties pro=new Properties(); pro.setProperty("driver", "com.mysql.jdbc.driver"); pro.setProperty("username", "root"); //将集合中的键值对写入到文件中 pro.store(fw, "I do"); } }
注意:使用字符流FileReader就可以完成文件中的中文读取操作了