问题描述
问题
我正在尝试读取 Gearbox Software 2012 年视频游戏“Borderlands 2”的配置文件。
-
我面临的问题是我正在读取的输入文件是 2,245 行和 77,344 长度,而地图中的值数量 我正在读这个文件的只有 859 行 和 31,786 长度。
-
流过早关闭并不是因为 手动检查显示 最后几行在那里,它是 中间缺失的随机线。
-
我什至尝试过 Files.readAllLines() 但我似乎无法阅读更多内容 输入文件中超过 859 行。
-
当我使用 FileWriter 将此映射输出到新文件时, 行是 860,在中间添加了一个额外的空行 程序
-
我检查了其他线程以读取 .ini 文件。一旦我弄清楚我在这里做错了什么,我将使用 ini4j 或正则表达式。
我的地图对象
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
我昨天工作了一个小时左右,但我无法弄清楚我在这里做错了什么。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)