设为首页 加入收藏

TOP

Java读取和修改ini配置文件
2014-11-16 12:20:35 来源: 作者: 【 】 浏览:32
Tags:Java 读取 修改 ini 配置 文件

  /*


  * ConfigurationFile.java


  *


  * Created on 2009年4月15日, 下午1:36


  *


  * To change this template, choose Tools | Template Manager


  * and open the template in the editor.


  */


  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;


  }


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇如何设置resin的默认主页 下一篇Js通用分页方法

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: