在Java中将文本文件读取到HashMap

时间:2015-05-06 15:28:55

标签: java hashmap

我有一个以下格式的文本文件:

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);        


}

2 个答案:

答案 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