Properties 简述

本文详细介绍了Java中Properties集合的使用方法,包括如何加载和保存配置文件、读取和修改键值对,并提供了完整的代码示例。

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

/*
Properties是hashtable的子类。
也就是说它具备map集合的特点。而且它里面存储的键值对都是字符串
是集合中和IO技术相结合的集合容器
该对象的特点:可以用于键值对的配置文件
那么在加载数据时,需要数据有固定格式:键=值。
*/


import java.io.*;
import java.util.*;
class  PropertiesDemo
{
public static void main(String[] args) throws IOException
{
setAndGet();
//method_1();
//loadDemo();
}
public static void loadDemo() throws IOException
{
Properties prop = new Properties();
FileInputStream fis = new FileInputStream("info.txt");


//将流中的数据加载进集合。
prop.load(fis);
prop.setProperty("wangwu","39");//此更改不能改源文件


FileOutputStream fos = new FileOutputStream("info.txt");//输出流


//以适合使用 load(InputStream) 方法加载到 Properties 表中的格式,
//将此 Properties 表中的属性列表(键和元素对)写入输出流。
prop.store(fos,"beizhuxinxi");


//System.out.println(prop);


prop.list(System.out);//将属性列表输出到指定的输出流


fos.close();
fis.close();
}


//演示,如何将流中的数据存储到集合中。
//想要将info.txt中键值数据存到集合中进行操作。
/*
1,用一个流和info.txt文件关联。
2,读取一行数据,将该行数据用“=”进行切割
3,等号左边作为键,右边作为值,存入到Properties集合中即可


*/
public static void method_1() throws IOException//load()方法原理
{
BufferedReader bufr = new BufferedReader(new FileReader("info.txt"));


String line = null;
Properties prop = new Properties();


while ((line=bufr.readLine())!=null)
{
String[] arr = line.split("=");//切割存进数组
//System.out.println(arr[0]+"..."+arr[1]);
prop.setProperty(arr[0],arr[1]);//加入集合
//System.out.println(line);
}
bufr.close();


System.out.println(prop);
}


//设置和获取元素
public static void setAndGet()
{
Properties prop = new Properties();


prop.setProperty("zhangsan","30");//设置,调用Hashtable的方法put。
prop.setProperty("lisi","39");


//System.out.println(prop);


String value = prop.getProperty("lisi");//根据键获取值
System.out.println(value);


prop.setProperty("lisi",89+"");


Set<String> names = prop.stringPropertyNames();
for(String s : names)
{
System.out.println(s+"..."+prop.getProperty(s));//遍历键集获取值
}


}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值