【问题标题】:Read from a Text File into a hash map or list [duplicate]从文本文件读入哈希映射或列表[重复]
【发布时间】:2012-02-11 18:05:33
【问题描述】:

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

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

文件是这样的:

标题 en_CA

1 根据您保单的法定条件,我们必须告知您保单的承保范围将在上午 12:01,即在其寄往的邮局收到这封信的 15 天后停止生效。

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

谢谢

【问题讨论】:

  • 问题不是很清楚。您想在 HashMap 中放入什么键和值?

标签: java


【解决方案1】:

你可以这样做:

1) 阅读您的file into a string

2) 使用 String.split("\t") 方法拆分内容,并使用拆分的计数来标识新行

3) 将这些内容添加到您选择的数组列表或集合中。

【讨论】:

    【解决方案2】:

    这应该可以帮助您入门。您需要在此过程中进行一些检查,以确保每行实际上有两个部分,并且可能将代码包装在一些 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}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-18
      • 2012-08-29
      相关资源
      最近更新 更多