欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

能够读写属性文件的集合类-Properties

程序员文章站 2022-04-25 14:29:43
...

1 Properties类的介绍

        Properties类是Hashtable类的子类,正如它的名字暗示的,该对象在处理属性文件时特别方便(Windows操作平台上的ini文件就是一种属性文件)。Properties类可以把Map对象和属性文件关联起来,从而可以把Map对象中的key-value对写入属性文件,也可以把属性文件中的属性名=属性值加载到Map对象中。由于属性文件里的属性名、属性值只能是字符串类型,所以Properties里的key、value都是字符串类型,该类提供了如下三个方法来修改Properties里的key、value值。

  • String getProperty(String key):获取Properties中指定属性名对应的属性值,类似于Map的get(Object key)方法。
  • String getProperty(String key, String defaultValue):该方法与前一个方法基本相似。该方法多一个功能,如果Properties中不存在指定key时,该方法返回默认值。
  • Object setProperty(String key, String value):设置属性值,类似Hashtable 的put方法。

2 代码示例

import java.util.*;
import java.io.*;

public class PropertiesTest
{
	public static void main(String[] args)
		throws Exception
	{
		Properties props = new Properties();
		// 向Properties中增加属性
		props.setProperty("username" , "cakin24");
		props.setProperty("password" , "123456");
		// 将Properties中的key-value对保存到a.ini文件中
		props.store(new FileOutputStream("a.ini")
			, "comment line");   //①
		// 新建一个Properties对象
		Properties props2 = new Properties();
		// 向Properties中增加属性
		props2.setProperty("gender" , "male");
		// 将a.ini文件中的key-value对追加到props2中
		props2.load(new FileInputStream("a.ini") );   //②
		System.out.println(props2);
	}
}

3 运行结果

{password=123456, gender=male, username=cakin24}

上面程序还在当前路径下生成了一个a.ini文件,文件内容如下:

#comment line

#Tue Sep 13 20:33:03 CST 2016

password=123456

username=cakin24

4 代码分析

上面的程序演示了Properties类的用法,其中①代码处理将Properties对象中的key-value对写入a.ini文件中;②代码处则从a.ini文件中读取key-value对,并添加到props2对象中。

相关标签: Properties 集合