如何从文本文档创建HashMap并显示特定的键和值

时间:2016-11-02 17:58:00

标签: java dictionary hashmap

我正在尝试创建一个简单的方法,它将读取一个文本文件,其中几行文本用逗号分隔,然后将第一个逗号后的文本拆分为一个键,然后将其他所有逗号分隔,直到换行的新行为止键。

步骤:

  1. ourFilePath
  2. 读取文件
  3. 将每行(DataEntry1)中的第一个单词拆分为一个键,然后将第一个逗号后的所有内容拆分为该键的值。
  4. 搜索我要查找的密钥的密钥后,打印出该密钥的值。
  5. 示例:

    filetest.txt:

    DataEntry1, Important, Stuff, Data, Clouds
    DataEntry2, Boring, Stuff, Numbers, Cats
    DataEntry3, Strange, Stuff, MoreData, Dogs
    

    代码:

    public static void getOurData(String ourFilePath, String ourDataName) throws Exception {
        Map<String, String> ourMap = new HashMap<String, String>();
        BufferedReader in = new BufferedReader(new FileReader(ourFilePath));
        String line = "";
    
        while ((line = in.readLine()) != null) {
            String parts[] = line.split(",", 2);
    
            ourMap.put(parts[1], parts[0]);
            System.out.println(ourMap.toString());
        }
    
        in.close();
    

    到目前为止,我只读取了一个正在运行的文件,我试图弄清楚如何将每个DataEntry变为HashMap的密钥ourMap以及之后的所有内容它也是。

    之后我很肯定我可以完成第3步,在地图上搜索特定的密钥并打印出该值。

1 个答案:

答案 0 :(得分:1)

看起来没问题,你只需要在调用

时改变参数的顺序
ourMap.put(key, value);

while ((line = in.readLine()) != null) {
    String parts[] = line.split(",", 2);

    ourMap.put(parts[0], parts[1]); // change here
    System.out.println(ourMap.toString());
}