java读取properties配置文件

来源:互联网 发布:c语言计算符号函数 编辑:程序博客网 时间:2024/06/06 05:22
package com.papapa.test;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;import java.util.HashMap;import java.util.Properties;/** * time 2015.6.19  * @author 喔哈哈 * java 读取“.ini”格式的配置文件 */public class test_0616 { protected HashMap sections = new HashMap(); private transient String currentSecion; private transient Properties current; public test_0616(String filename) throws IOException {  BufferedReader reader = new BufferedReader(new FileReader(filename));  read(reader);  reader.close(); } protected void read(BufferedReader reader) throws IOException {  String line;  while ((line = reader.readLine()) != null) {   parseLine(line);  } } private void parseLine(String line) {  line = line.trim();  if (line.matches("\\[.*\\]")) {   currentSecion = line.replaceFirst("\\[(.*)\\]", "$1");   current = new Properties();   sections.put(currentSecion, current);  } else if (line.matches(".*=.*")) {   if (current != null) {    int i = line.indexOf("=");    String name = line.substring(0, i);    String value = line.substring(i + 1);    current.setProperty(name, value);   }  } } /**  * @author 喔哈哈  * @param section  * @param name  * @return value  */ public String getValue(String section, String name) {  Properties p = (Properties) sections.get(section);  if (p == null) {   return null;  }  String value = p.getProperty(name);  return value; } public static void main(String[] args) throws IOException {  /*
    这疙瘩是 test.ini配置文件哦!
     [TestSect1]       kkk1=哎呀我去1111111    kkk2=哎呀我去2222222          [TestSect2]       kkk3=哎呀我去33333333    kkk4=哎呀我去33333333   */  test_0616 reader = new test_0616("D:\\test.ini");  System.out.println(reader.getValue("TestSect1", "kkk2")); }}

0 0