java 读取ini配置文件

本文介绍了一个简单的Java程序,用于解析和读取INI格式的配置文件。通过使用BufferedReader和正则表达式,程序能够识别不同的配置段落并提取键值对。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 {
/*
[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"));
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值