如何反序列化对象的hashmap?

时间:2015-03-29 06:48:30

标签: java serialization

我在java中有一个对象的hashmap。我想反序列化对象,但由于集合是动态的,我对如何读取对象感到困惑(反序列化时对象的数量是未知的)。我试着在网上四处看看但找不到多少。

HashMap patron = new HashMap();
HashMap book = new HashMap();
public static void main(String args[]){

}
public void refresh(){
    try {
        FileInputStream fis = new FileInputStream("Books.ser");
        ObjectInputStream os = new ObjectInputStream(fis);
        Set set = book.entrySet();
        Iterator i = set.iterator();
        while(i.hasNext()){

        }
        os.close();

    }
}

我不知道如何完成反序列化的while循环。

1 个答案:

答案 0 :(得分:2)

  1. 如果您将HashMap序列化为单个对象,只需按照相同的方式对其进行反序列化:

    HashMap hm = (HashMap)ois.readObject();
    
  2. 如果您没有将其序列化为单个对象,请更改它。