我在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循环。
答案 0 :(得分:2)
如果您将HashMap
序列化为单个对象,只需按照相同的方式对其进行反序列化:
HashMap hm = (HashMap)ois.readObject();
如果您没有将其序列化为单个对象,请更改它。