我有一个以下格式的文本文件:
Student1 Marks
Student2 Marks
第一列是关键。
这是我到目前为止所尝试的
Scanner scanner = new Scanner(new FileReader("marks.txt"));
HashMap<String,Integer> map = new HashMap<String,Integer>();
while (scanner.hasNextLine()) {
String[] columns = scanner.nextLine().split("\t");
map.put(columns[0],columns[1]);
}
System.out.println(map);
}
答案 0 :(得分:1)
请确保您解析标记并确保值确实是制表符分隔,否则代码会立即为我工作
Scanner scanner = new Scanner(new FileReader("marks.txt"));
HashMap<String,Integer> map = new HashMap<String,Integer>();
while (scanner.hasNextLine()) {
String[] columns = scanner.nextLine().split("\t");
map.put(columns[0],Integer.parseInt(columns[1]));
}
System.out.println(map);
答案 1 :(得分:0)
(在评论的帮助下)您的代码应该已经读入HashMap
,所以我认为您的问题是在阅读后打印HashMap
。
System.out.println(map)
仅为您提供地图对象的表示。
我建议读这个:
Convert HashMap.toString() back to HashMap in Java
要打印HasMap的所有元素,您可以迭代它,如下所示:Iterate through a HashMap