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"));
}
}