Nezkoušel jsem to, ale první co mě napadá, je dělat tu deserializaci trochu víc "manuálně". Co tím myslím: u těch datových tříd přetížit jejich metody pro čtení něčím jako:
private void readObject(java.io.ObjectInputStream stream) throws IOException, ClassNotFoundException { try { stream.defaultReadObject(); } catch (EOFException e) { // a neco delat, lze predpokladat, ze nektere atributy teto tridy uz jsou deserializovane ... } } Snad tenhle snippet ukazuje alespoň dobrým směrem. Jiří Holý On 19/06/2014 8:28 a.m., Jaroslav Kačer wrote: > Dobrý den! > > Mám soubor o velikosti několika MB, který obsahuje serializované javovské > objekty (bajtkód i zdrojáky mám). Problém je v tom, že tento soubor je z > nějakého důvodu useknutý, tudíž deserializace oprávněně skončí s výjimkou > EOFException. > > Chtěl bych z těch dat přečíst alespoň něco, co se dá. Nenapadá vás nějaký > způsob, jak o provést? Zkusil jsem například nástroj "jdeserialize" [1], ale > bohužel padá také. > > Celý obsah je jeden objekt, ve kterém jsou vnořeny další objekty, tudíž > nemůžu použít deserializaci "po kouskách", kdy bych si načtený objekt někam > uložil a zkusil další. Je to jedno volání ObjectInputStream.readObject(). > > Nemáte na to někdo nějaký fígl? > > Předem děkuji za jakýkoliv tip! > > Jarda > > > [1] https://code.google.com/p/jdeserialize/ > >