Linea 101:
Código:
ObjectInputStream in = new ObjectInputStream(fis);
Tengo la sospecha de que es algo de que se escriben cabeceras para cada objeto y no solo al inicio del archivo.
Los objetos pueden ser grabados en varias ejecuciones del código o cada vez que entra al menú. No obstante, cada vez que entra al menú a grabar un objeto nuevo creo que se crean cabeceras igualmente. Estoy convencido de que el fallo va por ahí según lo visto en
http://www.chuidiang.com/java/ficher...tosFichero.php