【说明】本篇文章为转载,文章来源 http://blog.csdn.net/shawearn1027
简介
在 Java 中,我们常用 java.util.Properties.Properties 类来解析 Properties 文件,Properties 格式文件是 Java 常用的配置文件,它用来在文件中存储键-值对,其中键和值用等号分隔,格式如下:
- name=shawearn
Properties 类是 java.util.Hashtable<Object, Object> 的子类,用于键和值之间的映射。
在对 Properties 格式文件的操作中,我们常使用 Properties 类的一下方法:
Properties():用于创建一个无任何属性值 Properties 对象;
- void load(InputStream inStream):从输入流中加载属性列表;
- void store(OutputStream out, String comments):根据输出流将属性列表保存到文件中;
- String getProperty(String key):获取指定键的值;
- void setProperty(String key, String value):设置指定键的值,若指定键已经在原属性值列表中存在,则覆盖;若指定键在原属性值列表中不存在,则新增;
写入 Properties 文件:
- // 创建一个 Properties 实例;
- Properties p = new Properties();
- // 为 Properties 设置属性及属性值;
- p.setProperty("name", "shawearn");
- p.setProperty("address", "XX 省 XX 市");
- // 保存 Properties 到 shawearn.properties 文件中;
- FileOutputStream out = new FileOutputStream("shawearn.properties");
- p.store(out, "Create by Shawearn!");
- out.close();
读取 Properties 文件:
- // 创建一个 Properties 实例;
- Properties p = new Properties();
- // 读取配置文件;
- FileInputStream in = new FileInputStream("shawearn.properties");
- // 加载配置文件到 Properties 实例中;
- p.load(in);
- in.close();
最后附上测试代码:
- package com.shawearn.test;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.util.Properties;
- import java.util.Set;
- /**
- * @author Shawearn
- *
- */
- public class TestProperties {
- /**
- * @param args
- * @throws IOException
- */
- public static void main(String[] args) throws IOException {
- TestProperties t = new TestProperties();
- // 测试写入;
- t.testWrite();
- // 测试读取;
- t.testRead();
- }
- /*
- * 测试对 Properties 文件的写入操作;
- */
- private void testWrite() throws IOException {
- // 创建一个 Properties 实例;
- Properties p = new Properties();
- // 为 Properties 设置属性及属性值;
- p.setProperty("name", "shawearn");
- p.setProperty("address", "XX 省 XX 市");
- // 保存 Properties 到 shawearn.properties 文件中;
- FileOutputStream out = new FileOutputStream("shawearn.properties");
- p.store(out, "Create by Shawearn!");
- out.close();
- System.out.println("写入成功!");
- }
- /*
- * 测试对 Properties 文件的读取操作;
- */
- private void testRead() throws IOException {
- // 创建一个 Properties 实例;
- Properties p = new Properties();
- // 读取配置文件;
- FileInputStream in = new FileInputStream("shawearn.properties");
- // 加载配置文件到 Properties 实例中;
- p.load(in);
- in.close();
- // 获取 Properties 文件中所有的 key;
- Set<String> keys = p.stringPropertyNames();
- // 遍历所有的 key;
- for (String key : keys) {
- // 获取 Properties 文件中 key 所对应的 value;
- Object value = p.get(key);
- // 输入 key 和对应的 value;
- System.out.println(key + " => " + value);
- }
- }
- }
- address => XX 省 XX 市
- name => shawearn
- #Create by Shawearn!
- #Thu Nov 19 12:43:41 CST 2015
- name=shawearn
- address=XX \u7701 XX \u5E02