当前位置: java基础教程 > 10-集合框架 > 阅读正文

Properties 文件流集合

2021.2.8.   499 次   1211字

Properties 集合,是 Hashtable 的子类

Properties 集合的 key 和 value 都是字符串

Properties 集合,提供了一些关于 I/O 的方法,可以读取,写入文件

Properties 主要用于加载配置文件,而不是用作普通的集合使用

1.导包
import java.util.Properties;
2.构造方法

默认就是字符串类型,所以不需要泛型

Properties p = new Properties();
3.方法

1.添加数据

p.setProperty("张三","168");
p.setProperty("李四","175");
p.setProperty("王五","188");

2.获取 value

String v = p.getProperty("张三");
System.out.println(v);

3.遍历

Set<String> set = p.stringPropertyNames();
for(String key : set){
  String value = p.getProperty(key);
  System.out.println(key+"="+value);
}

4.写入到文件

// p.store(流,注释),
// 对于2种流,OutputStream不能写中文,Writer可以中文,
// 对于注释,默认Unicode编码,系统默认gbk,写中文会乱码,一般写英文或空字符串
// new FileWriter 会有异常,需要捕获或抛出
try {
	p.store(new FileWriter("D:\\a.txt"),"");
 //写到D盘a.txt,注释为空串
} catch (IOException e) {
	e.printStackTrace();
 //如果有异常,打印异常信息
}

5.读取文件中的 Properties 信息

// p.load(流),对于流, InputStream 不能读取中文,Reader可以中文
Properties p = new Properties();
try {
	p.load(new FileReader("D:\\a.txt"));
  //从D盘a.txt读取
}catch(IOException e) {
	e.printStackTrace();
}
Set<String> set = p.stringPropertyNames();
  //遍历输出Properties集合
for(String key : set){
  String value = p.getProperty(key);
  System.out.println(key+"="+value);
}
4.注意事项

Properties 用作加载配置文件时,通常是 .properties 后缀

Properties 配置文件的注释,是 #

Properties 配置文件,每一行仅写一条数据

Properties 配置文件,每行中的 key, value 可以用 = , 空格等隔开

Properties 配置文件,每行中的数据,默认是字符串,无需加 “”

本篇完,还有疑问?

加入QQ交流群:11500065636 IT 技术交流群