从网上找的,读取文件,改变键值对的方法。
- 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;
- }
-
- }
-
复制代码
|
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31