java.io.StreamCorruptedException: invalid stream header: 00000001 Simple ProjectКак обрабатывать заголовок Invalid Stream Исключение: 00000001?
Я нашел это, и это, похоже, является общей проблемой. Если вы напишете в каталог с файлами, а затем вручную удалите его позже, вы получите эту ошибку.
java.io.StreamCorruptedException: invalid stream header: 00000001
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:806)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:299)
Код:
private void deserialize(File input){
// Let's deserialize an Object
System.out.println("Here");
try {
FileInputStream fileIn = new FileInputStream(input);
ObjectInputStream in = new ObjectInputStream(fileIn);
//System.out.println("Deserialized Data: \n" + ((Song)in.readObject()));
database.add((Song)in.readObject());
in.close();
fileIn.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException ex) {
Logger.getLogger(Runner.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void open(){
for(File fIn: f.listFiles()){
deserialize(fIn);
}
}
Так что происходит в том, что существует база данных объектов называется песня. Песни сериализуются в папку в моей домашней библиотеке. Я вижу файлы, и они полностью десериализуются. У программы нет проблем с запуском, просто досадно видеть всплывающее окно Invalid Stream Header Exception, и я не хочу иметь проблемы позже.
Как я могу справиться с этим исключением, кроме «Не прикасаться к этому каталогу после его написания»?