Java Serialisierung



  • Hallo,

    ich habe folgendes simples Problem. Und zwar möchte ich eine Datei mit ggf binären Daten serialisieren.

    import java.io.*;
    
    class SerializedFile implements Serializable
    {
    // private static final long serialVersionUID=3;
     private byte data[]=null;
     public SerializedFile(File f) throws IOException
     {
      FileInputStream in=new FileInputStream(f);
      byte arr[]=new byte[in.available()];
      in.read(arr);
      this.data=arr;
      in.close();
     }
     public void writeToFile(File f) throws FileNotFoundException, IOException
     {
      FileOutputStream out=new FileOutputStream(f);
      out.write(this.data);
      out.close();
     }
    }
    
    public class TestClient 
    {
     public static void main(String[] args) throws Exception
     {
      //Open File and read in bytes
      SerializedFile s=new SerializedFile(new File("c:\\a.jpg"));
      //store serialized object in a byte array
      ByteArrayOutputStream bos = new ByteArrayOutputStream() ;
      ObjectOutput out = new ObjectOutputStream(bos) ;
      out.writeObject(s);
      out.close();
      //toString
      String s2=(new String(bos.toByteArray()));
      //read the object
      byte [] data=s2.getBytes();
      ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(data));
      SerializedFile s3=(SerializedFile) in.readObject();
      in.close();
      //write loaded data to a new file
      s3.writeToFile(new File("c:\\out.jpg"));
     }
    }
    

    Soweit so gut, nur kommt nicht mehr das raus, was ich vorher reingeschickt habe. 😮

    An dem byte[] -> String und zurück kann es nicht liegen, da ich in einem anderen Beispiel vorher alles Base64 kodiert habe, auch dort, dasselbe Resultat !

    Hat jemand eine Ahnung woran das liegt ?????
    😕 😞



  • String s2 = (new String(bos.toByteArray()));
    

    Bitte was, das kann doch nicht dein Ernst sein?! WARUM???? 😕 😕 😕



  • Hallo,

    ich dachte ich bekomme damit einen Eintrag auf thedailywtf.com 🙂



  • Soll ich dich melden? 😉 Hast du dein Problem lösen können?



  • Hallo,

    hat sich erledigt.

    PS: und dieser dämliche Feigling, der den Namen gefaked hat, kann mich mal kreuzweise.


Anmelden zum Antworten