Serialisation Test de bon fonctionnement
28/01/2009
- import java.io.ByteArrayInputStream;
- import java.io.ByteArrayOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
- public class TestMain {
- public static void main(String[] args) {
- // construct test object
- ObjectA originalObj = new ObjectA();
- testSerialization(originalObj);
- }
- public static void testSerialization (Object originalObj)
- {
- ObjectA extractedObj = null;
- // serialize
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- ObjectOutputStream oos;
- System.out.println("Trying to serialize the object...");
- try {
- oos = new ObjectOutputStream(out);
- oos.writeObject(originalObj);
- oos.close();
- System.out.println("=>> Success.");
- } catch (IOException e) {
- System.err.println("=>> Failure: "+e.getMessage());
- e.printStackTrace();
- return;
- }
- //deserialize
- byte[] pickled = out.toByteArray();
- InputStream in = new ByteArrayInputStream(pickled);
- ObjectInputStream ois;
- System.out.println("Trying to deserialize the object...");
- try {
- ois = new ObjectInputStream(in);
- Object obj = ois.readObject();
- extractedObj = (ObjectA) obj;
- System.out.println("=>> Success.");
- } catch (IOException e) {
- System.err.println("=>> Failure: "+e.getMessage());
- return;
- } catch (ClassNotFoundException e) {
- System.err.println("=>> Failure: "+e.getMessage());
- e.printStackTrace();
- return;
- }
- // test the result
- System.out.println("Inuring that the extracted object is equal to the original one...");
- if (!originalObj.equals(extractedObj)) {
- System.err.println("=>> Failure: Objects are not equals.");
- return;
- } else {
- System.out.println("=>> Success.");
- }
- }
- }