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.