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

Java 对 Properties 文件的操作详解及简单实例

程序员文章站 2024-03-06 14:46:50
java 对 properties 文件的操作 简介 在 java 中,我们常用 java.util.properties.properties 类来解析 proper...

java 对 properties 文件的操作

简介

在 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 

shawearn.properties 文件内容:

#create by shawearn! 
#thu nov 19 12:43:41 cst 2015 
name=shawearn 
address=xx \u7701 xx \u5e02 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!