java.io.StreamCorruptedException: неверный заголовок потока: 00000001 Простой проект
Моя проблема заключается в том, что мой проект (простая инвентаризация, в которой элементы сериализуются в папку, а затем десериализуется) выдает "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;
}
}
}
}
1 ответ
Решение
Может быть, ваш Mac создал некоторые системные файлы в этой папке, и теперь ваше приложение пытается их десереализовать?