首页 > 解决方案 > 使用 Java 的 BufferedReader 读取 UE3 .ini 文件所读取的行数少于输入文件中的行数

问题描述

问题

我正在尝试读取 Gearbox Software 的 2012 年视频游戏“无主之地 2”的配置文件。

我的地图对象

Map <String,String>config_vals=new LinkedHashMap<>();
   

我的输入对象

InputStream IS= new FileInputStream("C:\\Users\\V\\BC\\WillowEngine.ini");
Reader R=new InputStreamReader(IS);
BufferedReader BFR=new BufferedReader(R);

循环读取文件内容

while((temp=BFR.readLine())!=null)
 {
    if(temp.indexOf("=")==-1)             //if not a key-value pair, put whitespace as value
     config_vals.put(temp,"");  
    else
    {
     int separator=temp.indexOf("=");     //separating a k-v pair from a file into map entry     
     config_vals.put(temp.substring(0,separator),temp.substring(separator+1,temp.length()));
    }
}
BFR.close();
System.out.println(config_vals.size());  // prints 859

我昨天工作了一个小时左右,我无法弄清楚我在这里做错了什么。

标签: javafile-handlingunreal-engine4inifilehandler

解决方案


推荐阅读