java.util.Properties集合 extends Hashtable<k,v> implements Map<k,v>
Properties 类表示了一个持久性的属性量。Properties 可保存在流中或从流中加载
Properties 集合是一个惟一和IO流相结合的集合
可以使用Properties集合中的方法store,把集合中的临时数据,持久化写入到硬盘中存储
可以使用Properties集合中的方法load,把硬盘中保存的文件(键值),读取到集合中使用
属性列表中每个键及其对应值都是一个字符串
Properties集合是一个双列集合,key和value默认都是字符串
使用Properties集合中的方法store,把集合中的临时数据,持久化写入到硬盘中存储:
void store(OutputStream out,String comments)
void store(Writer writer,String comments)
参数:
OutputStream out:字节输出流,不能写入中文
Writer writer:字符输出流,可以写入中文
String comments:注释:用来解释说明保存的文件是做什么用的
不能使用中文,会产生乱码,默认是Unicode编码
使用步骤:
1.一般使用"空字符串"创建Properties集合对象,添加数据
2.创建字节输出流/字符输出流对象,构造方法中绑定要输出的目的地
3.使用Properties集合中的方法store,把集合中的临时数据,持久化写入到硬盘中存储
4.释放资源
代码:
public class Demo01Properties {
public static void main(String[] args) throws IOException {
show02();
}
private static void show02() throws IOException {
// 1.一般使用"空字符串"创建Properties集合对象,添加数据
Properties prop = new Properties();
prop.setProperty("赵丽颖","167");
prop.setProperty("迪丽热巴","169");
prop.setProperty("古力娜扎","170");
//2.创建字节输出流/字符输出流对象,构造方法中绑定要输出的目的地
/* FileWriter fw = new FileWriter("day09_IOAndProperties\\prop.txt");
//3.使用Properties集合中的方法store,把集合中的临时数据,持久化写入到硬盘中存储
prop.store(fw,"save data");
//4.释放资源
fw.close();*/
//字节流,中文乱码
prop.store(new FileOutputStream("day09_IOAndProperties\\\\prop.txt"),"");
}
程序演示:
1.字节流,写中文乱码
2.字符流写中文,正常