JAVA集合学习之——Properties类

JAVA集合学习之——Properties类

    关于Properties类,首先要知道,它从属于Hashtable类,所以他就具有Map集合的属性和方法。
    它具有以下特点:
    1. Properties相当于一个key,value都是String类型的Map。
    2. 根据JDK文档所述:Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。所以它有一些特有的方法。

    一、首先进行简单的测试
public static void main(String[] args)
	{
		Properties p = new Properties();
		p.put("001", "张三");
		p.put("002", "李四");
		p.put("003", "王二");
		
		//获得Key Set
		Set<Object> set = p.keySet();
		
		for(Object s: set)
		{
			System.out.println(s + " --- " + p.get(s));
		}
	}
    上面代码可以验证 Properties类是一个Map。

    二、下面看看它的特殊使用
public static void main(String[] args) throws Exception
	{
		//创建一个Properties类的实例
		Properties p = new Properties();
		
		//设置参数
		p.setProperty("username", "root");
		p.setProperty("password", "123456");

		//将集合中的key_value对写入文件
		p.store(new FileOutputStream("D:\\test.txt"), "comment line");
		
		//创建一个新的Properties类的实例
		Properties p1 = new Properties();
		
		//从流中加载属性
		p1.load(new FileInputStream("D:\\test.txt"));
		
		//下面代码说明Properties对像里的key_value是String类型
		Set<String> set = p1.stringPropertyNames();
		for(String s: set)
		{
			System.out.println(s + " --- " + p1.getProperty(s));
		}
		
		System.out.println("username: " + p1.getProperty("username"));
		System.out.println("password: " + p1.getProperty("password"));
	}
     通常,Properties用于从配置文件中读取信息,比如,在JDBC的应用中,从配置文件中获得驱动,URL,UserName和Password。

    Properties的常用方法总结:
    1. 设置属性:Object setProperty(String key, String value)  调用 Hashtable 的方法 put。 
    2. 获得属性:String getProperty(String key) 用指定的键在此属性列表中搜索属性。 

    上面获得属性时要知道key的值,那key是怎么得来的呢,类似于Map的keySet方法返回key值的Set集合,这里要用专用的方法stringPropertiesName,故明思义,返回的是属性名字的字符串表示,实际上在配置文件中,通常是如下表示:
    username="root"
    password="123456"

    对于流的获取和存储用下面两个方法:
    void load(InputStream inStream) 从输入流中读取属性列表(键和元素对)。 
    void load(Reader reader) 按简单的面向行的格式从输入字符流中读取属性列表(键和元素对)。 

    void store(OutputStream out, String comments) 
    以适合使用 load(InputStream) 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。 
    void store(Writer writer, String comments) 
    以适合使用 load(Reader) 方法的格式,将此 Properties 表中的属性列表(键和元素对)写入输出字符。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值