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

我是 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);

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...