如何从文本文件读取/加载此HashMap?

时间:2019-04-26 17:04:42

标签: java file hashmap save

我已经使用HashMap使用以下代码在文本文档上存储所需的信息,现在我将如何将数据加载回我的程序中,当前的保存工作就可以了。

当前存储的文本文件

KEY=VALUE

例如,我的文本文件将是:

1=value
2=value
3=value

我将内容保存到此文件中的当前方式(不确定是否相关)是

    public void save(HashMap<Integer, String> map) {
        try {
            File zone1 = new File("zones/zone1");
            FileOutputStream fileOut = new FileOutputStream(zone1);
            PrintWriter print = new PrintWriter(fileOut);
            for (Map.Entry<Integer, String> m : map.entrySet()) {
                print.println(m.getKey() + "=" + m.getValue());
            }

            print.flush();
            print.close();
            print.close();
        } catch (Exception e) {
        }
    }

2 个答案:

答案 0 :(得分:0)

如果您真的想手工操作(如注释所述,这已经在java.util.Properties中实现),请参见:

java.io.BufferedReader :: readLine java.lang.String :: split

答案 1 :(得分:0)

从文件读取键值并将键值存储在HashMap中的示例。

try (InputStream input = new FileInputStream("path/to/file")) {
        Map<Integer,String> loadedFromTextFileHashMap=new HashMap<>();
        Properties prop = new Properties();
        prop.load(input);
        prop.forEach((key, value) -> loadedFromTextFileHashMap.put(Integer.valueOf(key.toString()), value.toString()));
} catch (IOException io) {
        io.printStackTrace();
}