【问题标题】:Save/Load HashMap with .bin使用 .bin 保存/加载 HashMap
【发布时间】:2012-10-23 15:20:19
【问题描述】:
public Map<String, BarrackData> barrack = new HashMap<String, BarrackData>();
SavingData.save(barrack, "barrack.bin"); // save
barrack = (Map<String, BarrackData>)SavingData.load("barrack.bin"); // load
// BarrackData contains 3 int's and 1 String.

public static void save(Object obj, String path) throws Exception {
    ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(path));
    oos.writeObject(obj);
    oos.flush();
    oos.close();
}

public static Object load(String path) throws Exception {
    ObjectInputStream ois = new ObjectInputStream(new FileInputStream(path));
    Object result = ois.readObject();
    ois.close();
    return result;
}

如何保存/加载 HashMap。
我用这个方法,但是好像有问题。
barrack.bin 包含一些我无法弄清楚的错误。
(java.io.NotSerializableException java.io.ObjectStreamException IOException suppressExceptionst)

【问题讨论】:

    标签: java serialization hashmap objectoutputstream objectinputstream


    【解决方案1】:

    您的课程BarrackData 似乎没有实现java.io.Serializable。它应该是这样的:

    public class BarrackData implements Serializable {
       ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-07
      • 2016-03-20
      • 2011-11-08
      • 1970-01-01
      • 1970-01-01
      • 2016-02-14
      • 1970-01-01
      相关资源
      最近更新 更多