import java.io.*;

class Serialize
{

    public static class Db implements Serializable
    {
        public String name;
        public String value;
    }

    public static void save(Db db, String filename){
        try{
			FileOutputStream fileOut = new FileOutputStream(filename);
        	ObjectOutputStream out = new ObjectOutputStream(fileOut);
        	out.writeObject(db);
        	out.close();
        	fileOut.close();
        	System.out.printf("Serialized "+filename+"\n");
        } catch (Exception e) {
            System.out.println("dont work\n");
            e.printStackTrace();
        }
    }

    public static Db load(String filename){
      try {
         FileInputStream fileIn = new FileInputStream(filename);
         ObjectInputStream in = new ObjectInputStream(fileIn);
         Db db = (Db) in.readObject();
         in.close();
         fileIn.close();
		System.out.println("file found");

		return db;
      } catch (Exception i) {
         i.printStackTrace();
         return null;
      }
    }

    public static void main(String [] args) {
        Db db = new Db();
        db.name = "dude";
        db.value = "where's my car?";
		Serialize.save(db,"dude.ser");
		Db db2 = Serialize.load("dude.ser");
		System.out.println(db2.name+" "+db2.value);
    }

}
