搜索
首页Javajava教程用java读写ini配置文件

用java读写ini配置文件

Dec 17, 2016 am 11:04 AM


  在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)! 


声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前By尊渡假赌尊渡假赌尊渡假赌
威尔R.E.P.O.有交叉游戏吗?
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具