Java中如何设置读取ini配置文件?

 我来答
wh猎人
推荐于2016-02-03 · TA获得超过1125个赞
知道大有可为答主
回答量:1157
采纳率:89%
帮助的人:670万
展开全部
// 读取一般的属性文件
FileInputStream fin=new FileInputStream("my.ini"); // 打开文件
Properties props=new Properties();                 // 建立属性类
props.load(fin);                                   // 读入文件
fin.close();                                       // 关闭文件
bluedn
推荐于2018-03-01 · TA获得超过744个赞
知道小有建树答主
回答量:565
采纳率:0%
帮助的人:720万
展开全部
/*
* IniReader.java
* 用Java读取INI文件(带section的)
* 示例:
* IniReader reader = new IniReader("E:\\james\\win.ini");
* out.println(reader.getValue("TestSect3", "kkk 6"));
*/

package tmp;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Properties;

public class IniReader {

protected HashMap sections = new HashMap();
private transient String currentSecion;
private transient Properties current;

public IniReader(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);
}
}

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

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

}

ini文件如下:

[TestSect1]
kkk 1=VVVVVVVVVVV1
kkk 2=VVVVVVVVVVV2

[TestSect2]
kkk 3=VVVVVVVVVVV3
kkk 4=VVVVVVVVVVV4

[TestSect3]
kkk 5=VVVVVVVVVVV5
kkk 6=VVVVVVVVVVV6

参考资料: http://chinaandroid.javaeye.com/blog/577377

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夕阳西采
2010-11-13 · 超过18用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:74.6万
展开全部
这么专业的问题可以去专业的IT论坛查问一下.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
擦肩过了
2010-11-13
知道答主
回答量:26
采纳率:0%
帮助的人:31.9万
展开全部
直接手动修改不简单么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1a812615e
2010-11-13 · TA获得超过1146个赞
知道小有建树答主
回答量:739
采纳率:66%
帮助的人:423万
展开全部
使用IO流可以读取任何文件...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式