Properties类的学习

本文详细介绍了Properties类在Java配置文件管理中的作用,包括如何设置、获取、输出和存储配置信息,以及演示如何创建、读取、修改和保存配置文件,同时解释了从文件获取键值对的原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Properties类对象是用来存储程序的配置信息的,这个类实际上是一个键值均为String类型的Map集合,并且在表现形式上,键值是通过‘=’号连接的


比如:

  


这些配置信息决定了程序的很多属性的选择,Properties类就是用来获取和处理这种配置文件


基本方法:


1,设置(添加、修改)

——1,setProperty(String key,String value)


2,获取

——1,String  getProperty(String key)

——2,Set<String>  stringPropertyNames()//返回一个存有所有键值的Set集合

——3,load(InputStream in)//把输入流的内容导入到Properties对象中(输入流先与配置文件关联)

——4,load(Reader  r)


3,输出

——1,list(PrintStream ps)//把Properties对象中的键值内容导入到输出流,在输出流中键和值用‘=’号相连

——2,list(PrintWriter  pw)


4,存储

——1,store(OutputStream out,String comments)//通过输出和配置文件关联,把配置信息保存到配置文件中,comments是注释信息

——2,store(Writer  out,String comments)



演示1:


import java.io.*;
import java.util.*;
class PropertiesDemo1
{
	public static void main(String[] args) throws IOException
	{
		File file=new File("Demo.ini");
		file.createNewFile();

		BufferedWriter bufw=new BufferedWriter(new FileWriter(file));

		Properties pro=new Properties();

		pro.setProperty("age","50");
		pro.setProperty("name","zhangsan");
		pro.setProperty("id","123456789");

		pro.list(System.out);//输出到屏幕

		pro.store(bufw,"Demo");//输出到配置文件

		bufw.close();
	}
}

输出到屏幕:



保存到配置文件:


加‘#’号的均为注释,时间是自动加上的






演示2(使用刚才建立的配置文件)

import java.io.*;
import java.util.*;
class PropertiesDemo2
{
	public static void main(String[] args) throws IOException
	{
		File file=new File("Demo.ini");
		
		if(!file.exists())
			file.createNewFile();

		Properties pro=new Properties();

		BufferedReader bufr=new BufferedReader(new FileReader(file));
		
		pro.load(bufr);//要在建立输出流之前导入配置信息,否则建立输出流时就会用一个空文件覆盖,输出流不能选择续写,否则配置文件会出现重复的键

		BufferedWriter bufw=new BufferedWriter(new FileWriter(file));

		System.out.println(pro);

		System.out.println("name : "+pro.getProperty("name"));

		pro.setProperty("age","35");//修改配置信息

		pro.store(bufw,"Demo");//输出到配置文件

		bufw.close();
		bufr.close();
	}
}
/*
输出:
{age=50, name=zhangsan, id=123456789}
name : zhangsan
*/

文件变为:



age变成了35,时间也更新了




顺便说一下从文件获取键和值的原理:

首先通过输入流按行导入所有信息,每行信息成为一条字符串

然后用split方法,根据‘=’号把所有字符串分为两段,前一段就为键,后一段就为值




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值