.ini 格式的程序配置文件中使用到的,.ini配置文件,从网上找的,读取文件,改
分享于 点击 38503 次 点评:283
.ini 格式的程序配置文件中使用到的,.ini配置文件,从网上找的,读取文件,改
从网上找的,读取文件,改变键值对的方法。
[Java]代码
package com.sdut.edu.tools;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;public class TestIni { private static String file="/sdcard/test.ini"; public static String getProfileString( 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 = ""; break;// return value; } } else if (strArray.length == 2) { value = strArray[0].trim(); if (value.equalsIgnoreCase(variable)) { value = strArray[1].trim(); break;// return value; } } else if (strArray.length > 2) { value = strArray[0].trim(); if (value.equalsIgnoreCase(variable)) { value = strLine.substring(strLine.indexOf("=") + 1).trim(); break;// return value; } } } System.out.println(""); } } finally { bufferedReader.close(); } System.out.println("value=====" +value); return value; } public static boolean setProfileString( 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)); 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;} }
用户点评