【发布时间】:2018-11-30 04:46:11
【问题描述】:
您好,我正在尝试编写一个小程序来从文本文档中获取信息并将该信息插入到哈希图中。我不明白的棘手部分是如何区分信息,以便它进入我希望它在我的哈希图中的字段。
现在您可以说我将要使用的文本文档已经有了各种“标签”。例如,文本文档的信息显示格式如下:35=22, 20=0, 52=20180608-19:51:02.352, 56=ALPH
我正在考虑在 Hashmap 类型中插入所有这些信息。我只是想区分信息,例如:
BufferedReader reader =
new BufferedReader(newFileReader("C:\\Users\\darroyo\\Documents\\pruebasx.txt"));
String line=reader.readLine();
Map<Integer,String> hm1 = new HashMap<Integer,String>();
hm1.put(1, arg1)
hm1.put(2, arg1)
hm1.put(3, arg1)
这里 1 将读取标签 35 并放入值 22,hashmap 值 2 将读取标签 56 并放入值 ALPH。我怎样才能以这种方式识别信息?另外,如果我有多个格式相似的行,它们也会被传递到 hashmap 上,还是我必须创建一个新行?
【问题讨论】:
-
put(...)的HashMap方法不会“读取”任何内容。您需要逐行读取文件,以=分隔输入,将第一个值(=左侧)解释为键,将第二个值(=右侧)解释为值。 -
我假设分离将使用正则表达式完成?
-
String inputLine = ...;String[] values = inputLine.split("="); -
我认为您希望首先在
','上拆分以获取 label=value 对,然后在'='上拆分每个以隔离标签和值。
标签: java hashmap text-files bufferedreader