从文本文件读取到哈希映射或列表

时间:2012-01-16 20:51:38

标签: java

  

可能重复:
  String parsing in Java with delimeter tab “\t” using split

如何从文本文件中读取字符串并存储在hashmap中?文件包含两列。

文件就像:

标题en_CA

1根据您的保单的法定条件,我们必须告知您保单下的承保范围将在收到此信件后15天内上午12:01停止生效。

列(如Title和en_CA或1和In ...)由制表符分隔,而不是空格。

由于

2 个答案:

答案 0 :(得分:11)

这应该让你开始。您将要沿途进行一些检查,以确保每一行实际上有两个部分,并可能将代码包装在一些try / catch块中。我假设您希望第一列成为键,第二列成为值。

public class ReadToHashmap {
    public static void main(String[] args) throws Exception {
        Map<String, String> map = new HashMap<String, String>();
        BufferedReader in = new BufferedReader(new FileReader("example.tab"));
        String line = "";
        while ((line = in.readLine()) != null) {
            String parts[] = line.split("\t");
            map.put(parts[0], parts[1]);
        }
        in.close();
        System.out.println(map.toString());
    }
}

输入:

title   en_CA
1       In accordance blah bla blah

输出:

{1=In accordance blah bla blah, title=en_CA}

答案 1 :(得分:3)

您可以执行以下操作:

  

1)阅读file into a string

     

2)使用String.split(“\ t”)方法拆分内容并使用拆分计数来识别新行

     

3)而不是将这些内容添加到您选择的arraylist或集合中。