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/
> 
> 

Odpovedet emailem