加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java:从磁盘写入/读取映射

发布时间:2020-12-14 16:20:02 所属栏目:Java 来源:网络整理
导读:我是 Java的新手,所以我不知道最好的办法.我有一个数据结构,我想在关闭程序之前能够写入一个文件,然后从文件中读取,以在下次应用程序启动时重新填充结构. 我的结构是HashMap String,Object.对象很简单;对于成员变量,它有一个String和两个类型Boolean的小本地
我是 Java的新手,所以我不知道最好的办法.我有一个数据结构,我想在关闭程序之前能够写入一个文件,然后从文件中读取,以在下次应用程序启动时重新填充结构.

我的结构是HashMap< String,Object>.对象很简单;对于成员变量,它有一个String和两个类型Boolean的小本地数组.这是一个真正的简单应用程序,我不会指望超过10-15个< key,value>一对一对.

我一直在尝试(不成功)与对象输入/输出流.我需要使Object类可序列化吗?

你可以给我最好的方式做任何建议吗?我只需要推动正确的方向.谢谢!

编辑:我觉得很笨,我正在从一张地图上写下来,另外读一张地图,然后比较他们来检查我的结果.显然我正在比较他们错了.叹.

解决方法

如果你不特别关心对象,你只需要一个String,String的键值对,那么我建议你去 java.util.Properties.否则在这里你去
Map map = new HashMap();
        map.put("1",new Integer(1));
        map.put("2",new Integer(2));
        map.put("3",new Integer(3));
        FileOutputStream fos = new FileOutputStream("map.ser");
        ObjectOutputStream oos = new ObjectOutputStream(fos);
        oos.writeObject(map);
        oos.close();

        FileInputStream fis = new FileInputStream("map.ser");
        ObjectInputStream ois = new ObjectInputStream(fis);
        Map anotherMap = (Map) ois.readObject();
        ois.close();

        System.out.println(anotherMap);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读