【发布时间】:2016-03-14 22:33:31
【问题描述】:
我得到了需要解析的文本文件,我正在寻找更有效的方法。
文件结构是已知的,如下所示:
[section]
key=value
key=value
[section]
key=value
[section]
key=value
我无法提前知道我将阅读多少 [section],也不知道每个部分有多少 key & value。
我正在尝试找到将此文件存储在集合中的最佳方式。到目前为止,我认为最好使用的集合是 Map>,这样每个 [section] 都会附加其关联的键值。
我遇到的问题主要是处理空行,因为我正在寻找一个简单的新部分:
if(line.charAt(0) == '[')
显然,使用空行返回 null。
谁能告诉我这个问题?
【问题讨论】:
-
您可以例如正则表达式匹配该行以查看它是否 a) 新部分,b) 空白,c) key= value
-
为什么不只检查行的长度?如果是
0,则为空行。 -
如果“空”行可以包含空格或制表符,请不要忘记在检查字符串长度之前修剪()字符串
-
您正在阅读 Java Properties 文件。
标签: java