-2
如何填充我的HashMap
,并将所有条目存储在单独的.properties
文件中? 我有一个文件resume.properties
与class
文件放在Eclipse的bin文件夹中。用.properties文件中存储的所有条目填充HashMap
该文件包含的条目是这样
available = 1
bismarck = 1
employees = 1
reports = 1
home = 1
company = 1
work = 2
........
我想这个条目尽快那类的构造函数被调用填充到我的HashMap中。
public class TextClassifier {
static HashMap<String,Integer> resume = new HashMap<String, Integer>();
public TextClassifier(){
try {
properties.load(TextClassifier.class.getResourceAsStream("resume.properties"));
}
catch (Exception e) {}
for (String key : properties.stringPropertyNames()) {
String value = properties.getProperty(key);
resume.put(key, Integer.valueOf(value));
}
}
public static void printHashmap(HashMap<String,Integer> map){
for(Map.Entry<String, Integer> entry:map.entrySet()){
int val=entry.getValue();
String key=entry.getKey();
System.out.println(key + " = " + val);
}
}
public static void main(String args[]){
new TextClassifier();
TextClassifier.printHashmap(TextClassifier.resume);
}
}
但是,当我打印使用printAll方法的条目,并与那些在actaul文件配合他们,我没有找到他们匹配。这是打印的文件中没有的条目!
我在推广许多HashMaps(我没有展示),所以也许从其他文件的条目被打印。错误在哪里?
请修复您的缩进,并给我们更多代表性的代码。例如,你在这里有一个'static'变量 - 我们不知道在加载多个地图时是否重用了这个变量。 – 2013-05-02 20:15:09
'属性'_已经是一张地图(好了,'HashTable')。你为什么不能原样使用它? – 2013-05-02 20:16:31
通过捕获它们并在catch块中不做任何事情来阻止完全忽略异常,并且您可能会明白出了什么问题,并专注于需要修复的部分 – 2013-05-02 20:17:05