哪个是从可以多次访问的属性文件中保存键值对的最佳方法?

时间:2015-10-26 12:45:49

标签: java dictionary hashmap properties-file

我想读取一个输入字符串,检查它是否以属性文件的关键部分中存在的给定值列表结束,如下面给出的 sample.properties ,并将其替换为值:< / p>

:假设输入字符串以COM或C.OM或COM。或COM结尾,我想用COM替换它)

sample.properties

ABC=COM    
BCD=COM    
EFG=COM    
HIJ=COM
KLM=CO
XYZ=CO

请注意,我在属性文件中有大约4000个条目。

我的计划是:

1)在加载应用程序期间在HashMap中加载键和值。

2)查看输入字符串是否以&#34;键&#34;中包含的任何字结尾。属性文件的一部分。这可以通过获取HashMap的keySet来完成。

是否可行,如果对于每个传入的输入值,我检查输入值是否以Hashmap的keySet中包含的任何值结束?

或者还有其他更好的方法吗?

2 个答案:

答案 0 :(得分:0)

  1. 阅读sample.properties文件。
  2. 使用String::replaceAll(String regex, String replacement)将每一行放在String中。
  3. 如果要替换多个字符,请使用正则表达式:[.,]将替换点.和逗号,
  4. 将其放入HashMap<String, String>

答案 1 :(得分:0)

你的HashMap对你没有任何好处。

解决此问题的最简单快捷方法是记住所有不同的密钥长度(可能少于15)。然后,对于每个长度,如果输入字符串至少是那么长,则从末尾获取该长度的子字符串,并使用Map.get()中的HashMap来获取该密钥的任何替换值。