如何从.txt文件中获取Map使用属性?

时间:2010-05-12 19:34:24

标签: java properties map

这是将哈希表写入.txt文件的代码!

public static void save(String filename, Map<String, String> hashtable) throws IOException {
    Properties prop = new Properties();
    prop.putAll(hashtable);
    FileOutputStream fos = new FileOutputStream(filename);
    try {
       prop.store(fos, prop);
    } finally {
       fos.close();
    }
}

我们如何从该文件中获取哈希表? 感谢

2 个答案:

答案 0 :(得分:4)

以同样丑陋的方式:

@SuppressWarnings("unchecked")
public static Map<String, String> load(String filename) throws IOException {
    Properties prop = new Properties();
    FileInputStream fis = new FileInputStream(filename);
    try {
        prop.load(fis);
    } finally {
        fis.close();
    }
    return (Map) prop;
}

答案 1 :(得分:2)

使用Properties.load()

代码示例:

public static Properties load(String filename) {
    FileReader reader = new FileReader(filename);
    Properties props = new Properties(); // The variable name must be used as props all along or must be properties
    try{
        props.load(reader);
    } finally {
        reader.close();
    }
    return props;
}

编辑:

如果你想要一张地图,请使用类似的东西。 (toString是为了避免强制转换 - 如果您愿意,可以强制转换为String)

public static Map<String, String> load(String filename) {
    FileReader reader = new FileReader(filename);
    Properties props = new Properties();
    try {
        props.load(reader);
    } finally {
        reader.close();
    }
    Map<String, String> myMap = new HashMap<String, String>();
    for (Object key : props.keySet()) {
        myMap.put(key.toString(), props.get(key).toString());
    }
    return myMap;
}