Java serialization data



  • Ist es mögich Java Objects, welche in Dateiform vorliegen, in ein für Nicht-Java-Applikationen lesbares und auch auswertbares Format wie XML oder dergleichen umzuwandeln?

    Unter Linux gibt "file" für die entsprechenden Dateien

    "Java serialization data, version 5"
    

    aus.

    mfg Stefan



  • So etwas ist mir zwar nicht bekannt, aber Objekte können unter bestimmten Voraussetzungen mit java.beans.XMLEncoder in ein XML-Format gebracht werden.



  • Durch das Überschreiben von writeObject und readObject sollte jedes gewünschte Format erreicht werden können.



  • Hallo,

    das überschreiben von writeObject und readObject in Verbindung
    mit einem ObjectIn-/OutputStream wird dich
    da glaub ich nicht weiterbringen, da vor und nach dem Aufruf
    von writeObject weitere Daten geschrieben werden (z.B. SerialUID und
    Klassenname), die für die Wiederherstellung des Objektes nötig sind...

    Eventuell kann man es mit Externalizable versuchen...
    Kannst ja mal Feedback geben, ob du ne Lösung gefunden hast

    Gruß,
    Serializer



  • Serializer schrieb:

    Eventuell kann man es mit Externalizable versuchen...
    Kannst ja mal Feedback geben, ob du ne Lösung gefunden hast

    Bisher habe ich keine wirklich adäquate Lösung gefunden. Da ich das ganze via C/C++ bewerkstelligen muss und demzufolge keine Möglichkeit habe auf eben jene Javakomponenten zurückzugreifen bleibt mir wohl nichts anderes übrig, als den Inhalt binär auszulesen und ein Schema zu entwickeln, mit Hilfe welchem ich die Daten in eine lesbare Form wie XML o.ä. zu konvertieren im Stande bin. Glücklicherweise ähneln sich die Objektdateien, welche mir vorliegen vom Aufbau her.

    Grüße
    Stefan



  • Stefan_guest schrieb:

    Da ich das ganze via C/C++ bewerkstelligen muss und demzufolge keine Möglichkeit habe auf eben jene Javakomponenten zurückzugreifen

    Es sei denn Du startest aus C/C++ 'ne JavaVM, die Du dann ansprichst. 🕶



  • Sgt. Nukem schrieb:

    Es sei denn Du startest aus C/C++ 'ne JavaVM, die Du dann ansprichst. 🕶

    Hätte wohl zusätzlich noch erwähnen sollen, dass das ganze ein wenig jedenfalls performant vonstatten gehen sollte. 😃



  • Du kannst die Art der Serialisierung bestimmen, es gibt standardmäßig ein binäres, ein XML und SOAP/XML zur Auswahl. Nicht zuletzt kannst du deine eigene Serialisierung implementieren. Auswahl hast du also genug, jetzt ist nur noch Eigeninitiative gefragt.


  • Mod

    BTW: @Optimizer: Mach mal deinen gelben Javagürtel. ...oder hast Du den schon? 🙂



  • Wo kann man diese sicherlich begehrenswerte Auszeichnung denn ergattern? Eine schnelle Suche mit Google und auf c++.de oder javacore hat leider nichts ergeben.


  • Mod

    @Optimizer: www.javablackbelt.com


  • Mod

    Optimizer schrieb:

    Eine schnelle Suche mit Google und auf c++.de oder javacore hat leider nichts ergeben.

    BTW: Bist Du auf javacore.de eigentlich registriert? 😉



  • Nein, ich schaue auch nicht wirklich oft vorbei, hatte nur gehofft, dort auf des Rätsels Lösung zu stoßen. Den Test werd ich morgen mal machen. 🙂



  • Tja schade, die lassen einen nur bis zum gelben kommen ohne dass man sich aktiver in die ganze Sache einmischt. 😞


Log in to reply