【发布时间】:2014-04-25 21:47:59
【问题描述】:
我的问题是,当我尝试反序列化信息时,我的项目(其中项目被序列化到文件夹然后反序列化的简单清单)抛出“java.io.StreamCorruptedException:无效流标头:00000001”。我以前没有问题;但是,当我使用 Finder(mac) 手动删除其中一个序列化文件时,就会抛出异常。 我的反序列化代码是:
private void compileInventory() {
//run through text file and create inventory
Inv = new <Item>ArrayList();
File f = new File(loc);
File[] list = f.listFiles();
Inv.clear();
if (f.exists()) {
for (File n : list) {
try {
FileInputStream fileIn = new FileInputStream(n.getAbsolutePath());
ObjectInputStream in = new ObjectInputStream(fileIn);
Inv.add((Item) in.readObject());
in.close();
fileIn.close();
} catch (IOException i) {
i.printStackTrace();
return;
} catch (ClassNotFoundException c) {
System.out.println("Item class not found");
c.printStackTrace();
return;
}
}
}
}
【问题讨论】:
标签: java file serialization io