我有一個ArrayList<ItemList>
如何序列化/反序列化的ArrayList(對象)
其中ITEMLIST是:
public class ItemList {
public ArrayList<Item> it = new ArrayList<Item>();
public String name = "";
public ItemList() {
}
}
和項目是:
public class Item {
public String name = "";
public int count = 0;
public Item() {
}
}
我嘗試序列這份名單:
try {
FileOutputStream fileOut = new FileOutputStream(sdDir + serFile);
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(List_Of_Lists);
out.close();
fileOut.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
I thi這是工作,因爲我發現這個文件在文件夾中。
但我無法從文件反序列化到ArrayList<ItemList>
代碼:
try {
FileInputStream fileIn = new FileInputStream(sdDir + serFile);
ObjectInputStream in = new ObjectInputStream(fileIn);
List_Of_Lists = (ArrayList<ItemList>) in.readObject();
Log.i("palval", "dir.exists()");
in.close();
fileIn.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
我怎麼可以反序列化這個ArrayList<ItemList>
? 我總是發現IOException。
請發佈整個異常堆棧跟蹤 – Tomer 2012-07-09 15:46:25
您是否僅序列化ArrayList,即「it」變量或類ItemList? – prashant 2012-07-09 15:51:09
'我總是發現IOException'。是的,但你讀過它包含的信息嗎?它包含答案。 – EJP 2012-07-11 23:54:16