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

Python013

Java中如何设置读取ini配置文件?,第1张

// 读取一般的属性文件

FileInputStream fin=new FileInputStream("my.ini") // 打开文件

Properties props=new Properties()                 // 建立属性类

props.load(fin)                                   // 读入文件

fin.close()                                       // 关闭文件

Java读取和修改ini配置文件,参考如下:

/*

* ConfigurationFile.java

*

*/

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

* @修改 2008-05-22

*/

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("\\["+section+"\\]")

m = p.matcher((strLine))

if (m.matches()) {

p = Pattern.compile("\\["+section+"\\]")

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

}

}

}

}

} finally {

bufferedReader.close()

}

return defaultValue

}