原始配置文件build.prop 如下圖:
我們主要修改紅色框框中的屬性值
ro.product.model
ro.product.brand
ro.product.board
ro.product.manufacturer

寫一段測試程序:如下:
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;public class ConfigModify { public static void main(String[] args) { File file = new File("c://build.prop"); if(file.exists()){ System.out.println("build.prop配置文件存在..."); //得到文件流 FileInputStream fin = null; BufferedReader reader = null; //以行為單位,將字符串放入數組 String[] array = null; //原始配置信息字符串 String originalContent = null; try{ fin = new FileInputStream(file); reader = new BufferedReader(new InputStreamReader(fin)); StringBuilder sb = new StringBuilder(); String str = ""; while((str = reader.readLine())!=null){ sb.append(str+"/n"); } originalContent = sb.toString(); reader.close(); fin.close(); //關閉文件流 System.out.println("讀取原始配置信息成功..."); System.out.println("關閉文件輸入流..."); }catch (FileNotFoundException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); }catch (Exception e) { e.printStackTrace(); } //以換行為分隔 返回字符串數組 array = originalContent.split("/n"); for (int i = 0; i < array.length; i++) { if(array[i].contains("ro.product.model")){ array[i] = "ro.product.model=iphone 6 Plus"; }else if(array[i].contains("ro.product.brand")){ array[i] = "ro.product.brand=iPhone"; }else if(array[i].contains("ro.product.board")){ array[i] = "ro.product.brand=iPhone"; }else if(array[i].contains("ro.product.manufacturer")){ array[i] = "ro.product.manufacturer=iPhone"; }else { } } FileOutputStream fos = null; BufferedWriter writer = null; try { StringBuilder sBuilder = new StringBuilder(); for (int i = 0; i < array.length; i++) { sBuilder.append(array[i]+"/n"); } String finalMsg = sBuilder.toString(); System.out.println("######################"); fos = new FileOutputStream(file); writer = new BufferedWriter(new OutputStreamWriter(fos)); writer.append(finalMsg); writer.flush(); writer.close(); System.out.println("替換配置信息成功..."); System.out.println("寫入新配置信息成功..."); System.out.println("關閉文件輸出流..."); fos.close(); }catch (FileNotFoundException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); }catch (Exception e) { e.printStackTrace(); } }else { System.out.println("build.prop file is not exist"); } }}
輸出信息如下:

替換后的配置文件如下: 可以看到紅色框框中的信息已經被修改了。

新聞熱點
疑難解答