Ich habe jetzt zwei Klasse einmal die SerializeAndDeserialize und die User Klasse ich muss in der User Klasse .add auch intitialisieren wie mach ich das. Das ist der folgende Code. Habe schon gegoogelt bin zu dumm eine Antwort zu finden xD.
Java:
package at.htlle.pos;
import java.io.*;
public class SerializeAndDeserialize
{
/**
* Serialisiert EIN Objekt in EINE Datei
* @param obj
* @param filename
*/
static void serialize(Object obj, String filename)
{
try
{
FileOutputStream file = new FileOutputStream(filename);
ObjectOutputStream o = new ObjectOutputStream(file);
o.writeObject(obj);
o.close();
}
catch (IOException e)
{
System.err.println(e);
}
}
/**
* Deserialisiert das erste Objekt aus der Datei
* @param filename
* @Return
*/
static Object deserialize(String filename)
{
Object ret = null;
try
{
FileInputStream file = new FileInputStream(filename);
ObjectInputStream o = new ObjectInputStream(file);
ret = o.readObject();
o.close();
}
catch (IOException e)
{
System.err.println(e);
}
catch (ClassNotFoundException e)
{
System.err.println(e);
}
return ret;
}
public static void main(String[] args)
{
User u = new User();
u.username = "Guenther";
u.password = "Hutter";
u.age = 40;
u.programmingLanguages.add("C++");
u.programmingLanguages.add("Java");
System.out.println("Original vor serialisierung:\t" + u);
String filename = "/tmp/testuser.ser";
serialize(u.programmingLanguages, filename);
System.out.println("Original nach serialisierung:\t" + u);
}
}
Java:
package at.htlle.pos;
import java.io.*;
public class SerializeAndDeserialize
{
/**
* Serialisiert EIN Objekt in EINE Datei
* @param obj
* @param filename
*/
static void serialize(Object obj, String filename)
{
try
{
FileOutputStream file = new FileOutputStream(filename);
ObjectOutputStream o = new ObjectOutputStream(file);
o.writeObject(obj);
o.close();
}
catch (IOException e)
{
System.err.println(e);
}
}
/**
* Deserialisiert das erste Objekt aus der Datei
* @param filename
* @Return
*/
static Object deserialize(String filename)
{
Object ret = null;
try
{
FileInputStream file = new FileInputStream(filename);
ObjectInputStream o = new ObjectInputStream(file);
ret = o.readObject();
o.close();
}
catch (IOException e)
{
System.err.println(e);
}
catch (ClassNotFoundException e)
{
System.err.println(e);
}
return ret;
}
public static void main(String[] args)
{
User u = new User();
u.username = "Guenther";
u.password = "Hutter";
u.age = 40;
u.programmingLanguages.add("C++");
u.programmingLanguages.add("Java");
System.out.println("Original vor serialisierung:\t" + u);
String filename = "/tmp/testuser.ser";
serialize(u.programmingLanguages, filename);
System.out.println("Original nach serialisierung:\t" + u);
}
}