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;                                   // 返回找到的值
        }
    }
}

读取完成。结束!

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