java--基础--9.7--集合--Map--Properties

Properties是Java中用于处理配置文件的类,继承自Hashtable。它可以存储键值对,支持从输入流加载和向输出流存储属性列表。常用方法包括getProperty、load和store等。示例展示了如何创建Properties对象,设置和获取键值对,以及从文件中读写属性。
摘要由CSDN通过智能技术生成

java–基础–9.7–集合–Map–Properties


1、介绍

Hashtable   implements  Map
public class Properties  extends Hashtable< Object,Object>     

Properties 是map的子类:有map的方法

2、常用父类方法

  • put(key,value)
  • Set keySet()
Properties prop=new Properties();
prop.put("0001", "a");
prop.put("0002", "b");
prop.put("0003", "c");
prop.put("0004", "d");
prop.put("0005", "e");

Set<Object> set=prop.keySet();
for (Object o : set) {
	Object value=prop.get(o);
	System.out.println(o+"===="+value);
	
}

3、本身特有方法

  • String getProperty(String key):用指定的键在此属性列表中搜索属性。
  • void load(InputStream inStream):从输入流中读取属性列表(键和元素对)。
  • void load(Reader reader):按简单的面向行的格式从输入字符流中读取属性列表(键和元素对)。
  • void list(PrintStream out):将属性列表输出到指定的输出流。
  • void list(PrintWriter out):将属性列表输出到指定的输出流。
  • Enumeration< ?> propertyNames():返回属性列表中所有键的枚举,如果在主属性列表中未找到同名的键,则包括默认属性列表中不同的键。
  • Object setProperty(String key, String value):调用 Hashtable 的方法 put。
  • void store(OutputStream out, String comments):以适合使用 load(InputStream) 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。
  • void store(Writer writer, String comments):以适合使用 load(Reader) 方法的格式,将此 Properties 表中的属性列表(键和元素对)写入输出字符。
  • Set stringPropertyNames():返回此属性列表中的键集,其中该键及其对应值是字符串,如果在主属性列表中未找到同名的键,则还包括默认属性列表中不同的键。

4、案例

4.1、案例1

Properties prop=new Properties();
//设置key,value
prop.setProperty("0001", "a");
prop.setProperty("0002", "b");
prop.setProperty("0003", "c");
prop.setProperty("0004", "d");
prop.setProperty("0005", "e");

//获取所有的键的集合
Set<String> sets=prop.stringPropertyNames();
for (String set : sets) {
	
	String value=prop.getProperty(set);
	System.out.println(set+"===="+value);
}
//保存在一个 文件中
prop.store(new FileWriter("prop.txt"), "this is first line comment");
//清空prop
prop.clear();

//读取文件
prop.load(new FileReader("prop.txt"));
System.out.println(prop);
//获取元素
System.out.println(prop.getProperty("0005"));

输出:
0005====e
0004====d
0003====c
0002====b
0001====a
{0005=e, 0004=d, 0003=c, 0002=b, 0001=a}
e

4.2、读取配置property

// 把文件中的数据加载到集合中
Properties prop = new Properties();
Reader r = new FileReader("prop.txt");
prop.load(r);
r.close();


//读取key
Set<String> sets=prop.stringPropertyNames();
for (String set : sets) {
	String value=prop.getProperty(set);
	System.out.println(set+"===="+value);
}

// 把集合中的数据重新存储到文件中
Writer w = new FileWriter("prop.txt");
prop.store(w, null);
w.close();


输出:
0005====e
0004====d
0003====c
0002====b
0001====a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值