计算机二级

3773考试网计算机等级考试计算机二级正文

Java读取和修改ini配置文件方法

来源:fjzsksw.com 2010-7-19 14:43:53

 

/**

  * 修改ini配置文档中变量的值

  * @param file 配置文档的路径

  * @param section 要修改的变量所在段名称

  * @param variable 要修改的变量名称

  * @param value 变量的新值

  * @throws IOException 抛出文档操作可能出现的io异常

  */

  public static boolean setProfileString(

  String file,

  String section,

  String variable,

  String value)

  throws IOException {

  String fileContent, allLine,strLine, newLine, remarkStr;

  String getValue;

  BufferedReader bufferedReader = new BufferedReader(new FileReader(file));

  boolean isInSection = false;

  fileContent = "";

  try {

  while ((allLine = bufferedReader.readLine()) != null) {

  allLine = allLine.trim();

  System.out.println("allLine == "+allLine);

  strLine = allLine;

  Pattern p;

  Matcher m;

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

  m = p.matcher((strLine));

  //System.out.println("+++++++ ");

  if (m.matches()) {

  System.out.println("+++++++ ");

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

  m = p.matcher(strLine);

  if (m.matches()) {

  System.out.println("true ");

  isInSection = true;

  } else {

  isInSection = false;

  System.out.println("+++++++ ");

  }

  }

  if (isInSection == true) {

  strLine = strLine.trim();

  String[] strArray = strLine.split("=");

  getValue = strArray[0].trim();

  if (getValue.equalsIgnoreCase(variable)) {

  // newLine = getValue + " = " + value + " " + remarkStr;

  newLine = getValue + " = " + value + " ";

  fileContent += newLine + "\r\n";

  while ((allLine = bufferedReader.readLine()) != null) {

  fileContent += allLine + "\r\n";

  }

  bufferedReader.close();

  BufferedWriter bufferedWriter =

  new BufferedWriter(new FileWriter(file, false));

  bufferedWriter.write(fileContent);

  bufferedWriter.flush();

  bufferedWriter.close();

  return true;

  }

  }

  fileContent += allLine + "\r\n";

  }

  }catch(IOException ex){

  throw ex;

  } finally {

  bufferedReader.close();

  }

  return false;

  }

  public static void main(String[] args) {

  //String value = Config.getProfileString("sysconfig.ini", "Option", "OracleDB", "default");

  //System.out.println(value);

  try {

  System.out.println("值已经改变!... "+ConfigurationFile.setProfileString("E:/web5/h2_test/gamewww.ini", "TestSect1", "10012", "111111"));

  System.out.println("值读取成功!... "+ConfigurationFile.getProfileString("E:/web5/h2_test/gamewww.ini", "TestSect1", "10012", ""));

  } catch (IOException e) {

  System.out.println("错误 ......"+e.toString());

  }

  }

  }

 

 

上一页  [1] [2] 

触屏版 电脑版
3773考试网 琼ICP备12003406号-1