读取如下的txt文件,楼主做的项目在APP上展示电影评分,第一个数字代表电影编号,第二个数字代表分数,需要提取出来放入Map,如果编号有重复以最新的为准
下面放代码,首先尝试的是这种
public static Map<String, String> readTxt(String file) throws IOException {
Map<String, String> tempMap = new HashMap<String, String>();
List<String> allLines = Files.readAllLines(Paths.get(file));
for (String line : allLines) {
if (line != "") {
String[] temp = line.split(" ");
tempMap.put(temp[0], temp[1]);
}
}
return tempMap;
}
但是楼主遇到了一些问题,因为安卓的平台版本问题无法兼容readAllLines()该函数,所以尝试了一下方法。
public Map<String, String> read(String File) throws Exception{
String lines = "";
FileReader fileReader = new FileReader(File);
BufferedReader bufferedReader = new BufferedReader(fileReader);
Map<String,String> tempMap = new HashMap<String,String>();
while((lines = bufferedReader.readLine()) != null)
{
list.add(lines);
}
bufferedReader.close();
for(String singleList : list)
{
if(singleList != "")
{
String[] temp = singleList.split( " ");
tempMap.put(temp[0],temp[1]);
}
}
return tempMap;
}
如有不对或者可以优化的地方,欢迎指出和讨论,您的意见是我前进的动力,感谢! 参考博客:https://www.cnblogs.com/lancexu/p/9405639.html
|