在java中,配置文件一般主要是两种形式:xml文件或者property文件。但大部分人都习惯使用ini文件,而且ini文件的分节以及注释功能,比起xml,也是易懂易用的。
在vc中类库中有读写ini文件的标准函数。在dephi或其他语言中,也可以用windows的api函数来读写ini文件。但在java中似乎没有现成的类和方法可供使用。虽然java可以通过加载dll文件的方法来调用windows的api,但总觉得不够正宗。
于是自己写了个读写ini配置文件的类,供大家参考。
package mytools;
import java.io.bufferedreader;
import java.io.bufferedwriter;
import java.io.filereader;
import java.io.filewriter;
import java.io.ioexception;
import java.util.regex.matcher;
import java.util.regex.pattern;
/**
* 这是个配置文件操作类,用来读取和设置ini配置文件
* @author 由月
* @version 2004-08-18
*/
public final class configurationfile {
/**
* 从ini配置文件中读取变量的值
* @param file 配置文件的路径
* @param section 要获取的变量所在段名称
* @param variable 要获取的变量名称
* @param defaultvalue 变量名称不存在时的默认值
* @return 变量的值
* @throws ioexception 抛出文件操作可能出现的io异常
*/
public static string getprofilestring(
string file,
string section,
string variable,
string defaultvalue)
throws ioexception {
string strline, value = "";
bufferedreader bufferedreader = new bufferedreader(new filereader(file));
boolean isinsection = false;
try {
while ((strline = bufferedreader.readline()) != null) {
strline = strline.trim();
strline = strline.split("[;]")[0];
pattern p;
matcher m;
p = pattern.compile("file://[//s*.*//s*//]");
m = p.matcher((strline));
if (m.matches()) {
p = pattern.compile("file://[//s*" + section + "file://s*//]");
m = p.matcher(strline);
if (m.matches()) {
isinsection = true;
} else {
isinsection = false;
}
}
if (isinsection == true) {
strline = strline.trim();
string[] strarray = strline.split("=");
if (strarray.length == 1) {
value = strarray[0].trim();
if (value.equalsignorecase(variable)) {
value = "";
return value;
}
} else if (strarray.length == 2) {
value = strarray[0].trim();
if (value.equalsignorecase(variable)) {
value = strarray[1].trim();
return value;
}
} else if (strarray.length > 2) {
value = strarray[0].trim();
if (value.equalsignorecase(variable)) {
value = strline.substring(strline.indexof("=") + 1).trim();
return value;
以上就是用java读写ini配置文件的内容,更多相关文章请关注PHP中文网(www.php.cn)!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号