java配置文件ini的讀取(自己看的)

shenqi.ini 文件內容 虛構例子:

[TestItem]

   Status="五行/自然現象"
   List1Name1="木"
   List1Name2="水"
   List1Name3="火"
   List1Name4="土"
   List1Name5="風"
   List1Name6="雨"
   List1Name7="雷"
   List1Name8="電"

  List2Name1  ="蟠桃"
  List2Name2  ="人蔘果"
  List2Name3  ="黃梨"
  List2Name4  ="葫蘆藤"
  List2Name5  ="苦竹"
  List2Name6  ="菩提"
  List2Name7  ="蓮花"
  List2Name8  ="綠柳"
  List2Name9  ="仙杏"
  List2Name10  ="扶桑樹"

[高強力--先天型]
   Standard="fabao_探險可得"   
   liliang  ="強度(%),韌性(%),法力含量(%),總戰鬥力(%)"
   fabao="戰鬥力(%),傷害值,耐久度值,法力含量(%),總傷害量(%)"
   Allowed="可塑性,成長率,成功率比,重塑時間,提升強度比,變異率比" 
   TimeDiff=3
   QDRatio=15

java片段:

String s = "高強力--先天型";
String p = "Allowed";
String fName = "shenqi.ini"
String fUrl = getINIUrl() + fName;   //獲取文件路徑
//設置編碼文件讀取編碼,因爲要讀取中文,所以使用字符流讀取,字節流會亂碼,
//編碼格式設置成常用的utf-8,之前設置的GB2312和gbk都是亂碼。
InputStreamReader oStreamWriter = new InputStreamReader(new FileInputStream(new File(fUrl)), "UTF-8");
Wini ini = new Wini();
ini.load(oStreamWriter);  //加載讀取全部內容
List<Profile.Section> sList = ini.getAll(s); //根據key獲取值。獲取 【高強力--先天型】下所有鍵值對。
for (Profile.Section item : sList) { 
    Set<Map.Entry<String, String>> maps = item.entrySet(); //轉換爲set 集合
    for (Map.Entry<String, String> o : maps) {
        String name = o.getKey();
        if (name.equals(p)) {                               // 查找 Allowed 
            String value = o.getValue();                    // 獲取 Allowed 值
            if (value.indexOf("\"") > -1) {                 // 是否包含 "
                value = value.replaceAll("\"", "");         //替換掉 "
            }
            return value;                                   // 返回找到的值
        }
    }
}

讀取完成。結束!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章