import java.io.*;
import java.util.*;

public class SerializeTest {

    public static void main(String[] args) throws Exception {
        List list, copy;
        
        list = Arrays.asList(new File(".").listFiles());

        serializeObject(list);

        copy = (List) deserializeObject();

        System.out.println("list.equals(copy): " + list.equals(copy));
    }

    private static void serializeObject(Object obj) throws IOException {
        ObjectOutputStream oos = new ObjectOutputStream(
                                 new FileOutputStream("data.ser"));
        oos.writeObject(obj);

        oos.close();
    }

    private static Object deserializeObject()  throws Exception {
        ObjectInputStream ois = new ObjectInputStream(
                                new FileInputStream("data.ser"));

        Object object = ois.readObject();

        ois.close();

        return object;
    }
}

