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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从文本文件中读取/加载此HashMap?相关的知识,希望对你有一定的参考价值。

我使用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) {
        }
    }
答案

如果您真的想手动(如评论所述,这已在java.util.Properties中实现),请参阅:

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

另一答案

从文件中读取键值并在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();
}

以上是关于如何从文本文件中读取/加载此HashMap?的主要内容,如果未能解决你的问题,请参考以下文章

在火花分析之前从 FTP 读取大文本文件

如何使用Python脚本从PDF中读取阿拉伯语文本

在火花分析之前从FTP读取大文本文件

如何从 openlayers 读取外部 GeoJSON 文件?

Assimp不从层片文件中读取纹理坐标信息

如何逐行读取大型文本文件,而不将其加载到内存中?