S
Snake_y
Gast
Hallo,
ich habe folgendes simples Problem. Und zwar möchte ich eine Datei mit ggf binären Daten serialisieren.
Soweit so gut, nur kommt nicht mehr das raus, was ich vorher reingeschickt habe. :cry:
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 ????
ich habe folgendes simples Problem. Und zwar möchte ich eine Datei mit ggf binären Daten serialisieren.
Code:
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. :cry:
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 ????