java读写properties配置文件

本文介绍了如何使用Java的Properties类进行文件读取(包括读取所有key,根据key获取值),文件写入(替换或追加内容),以及将Properties内容转换为Map。重点展示了读取和操作Properties文件的关键步骤和示例。
摘要由CSDN通过智能技术生成

1.读取文件

	Properties p = new Properties();
	InputStream in = new FileInputStream("D:\\test.properties");
	p.load(new InputStreamReader(in, "utf-8"));
	Enumeration keys = p.propertyNames();
	while (keys.hasMoreElements()) {
	      String key = (String) keys.nextElement();
	      String value = p.getProperty(key);
	      System.out.println(key + "=" + value);
	}

或者:

	Properties p = new Properties();
	InputStream in = new FileInputStream("D:\\test.properties");
	p.load(new InputStreamReader(in, "utf-8"));
	for (String key : p.stringPropertyNames()) {
      	 String value = p.getProperty(key);
      	 System.out.println(key + "=" + value);
	}

2.写文件

	Properties p = new Properties();
	InputStream in = new FileInputStream("D:\\test.properties");
	p.load(new InputStreamReader(in, "utf-8"));
	//如果文件中已有aa=111,会替换为aa=ssqq,没有则会追加aa=ssqq
	p.setProperty("aa", "ssqq");
	p.setProperty("bb", "ddd");
	p.setProperty("cc", "xxx");
	//文件开头的注释说明
	String comment="2021.10.20 ";
	//写入文件
	p.store(new OutputStreamWriter(new FileOutputStream("D:\\test.properties"), "UTF-8"), comment);

3.读取文件到Map

	Properties p = new Properties();
	InputStream in = new FileInputStream("D:\\test.properties");
	p.load(new InputStreamReader(in, "utf-8"));
	Map<String, String> map = new HashMap<>();
	for (Map.Entry<Object, Object> entry : p.entrySet()) {
	     map.put(String.valueOf(entry.getKey()), String.valueOf(entry.getValue()));
	}
	System.out.println(map);

4.读取文件的所有key

	Properties p = new Properties();
	InputStream in = new FileInputStream("D:\\test.properties");
	p.load(new InputStreamReader(in, "utf-8"));
	Set<Object> keys = p.keySet();//返回属性key的集合
	System.out.println(keys);

5.根据某一key读取文件的对应值

	Properties p = new Properties();
	InputStream in = new FileInputStream("D:\\test.properties");
	p.load(new InputStreamReader(in, "utf-8"));
	String bb = p.getProperty("bb");//获取某一属性的值
	System.out.println(bb);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值