import java.io.ByteArrayInputStream;

import java.io.ByteArrayOutputStream;

import java.io.IOException;

import java.io.ObjectInputStream;

import java.io.ObjectOutputStream;



public class exam {


/**

* @param args

*/

static class play{

public int age;

public String name;

public play(){

age = 10;

name = "blake";

}

}

public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println("Hellow World");

play py = new play();

byte[] mybyte = toByteArray(py);

play pp = (play)toObject(mybyte);

System.out.println(pp.name);

}

public static byte[] toByteArray (Object obj)

{

 byte[] bytes = null;

 ByteArrayOutputStream bos = new ByteArrayOutputStream();

 try {

   ObjectOutputStream oos = new ObjectOutputStream(bos); 

   oos.writeObject(obj);

   oos.flush(); 

   oos.close(); 

   bos.close();

   bytes = bos.toByteArray ();

 }

 catch (IOException ex) {

   //TODO: Handle the exception

 }

 return bytes;

}

   

public static Object toObject (byte[] bytes)

{

 Object obj = null;

 try {

   ByteArrayInputStream bis = new ByteArrayInputStream (bytes); //여기서 예외 발생 

   ObjectInputStream ois = new ObjectInputStream (bis);

   obj = ois.readObject();

 }

 catch (IOException ex) {

   //TODO: Handle the exception

 }

 catch (ClassNotFoundException ex) {

   //TODO: Handle the exception

 }

 return obj;

}


}