我有一个数据结构,我希望能够在关闭程序之前将其写入文件,然后在应用程序下次启动时从文件中读取以重新填充该结构。
我的结构是HashMap<String, Object>
.对象非常简单;对于成员变量,它有一个字符串和两个 boolean 类型的小 native 数组。这是一个真正简单的应用程序,我预计不会超过 10-15 <key,value>
一次配对。
我一直在尝试(未成功)对象输入/输出流。我需要使 Object 类可序列化吗?
你能给我一些关于最好的方法的建议吗?我只需要朝正确的方向插入。谢谢!
编辑:好吧,我还是觉得很蠢,我是从一张 map 上写的,读到另一张 map 上,然后比较它们来检查我的结果。显然我把它们比较错了。叹息。
最佳答案
如果您不是特别关心 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);
关于Java:从磁盘写入/读取 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4738162/