hola a todos señores de Hack Hispano, antes de empezar me gustaria agradecerles la gran ayuda q me brindan en cada tema q posteo. bueno, he aqui mi pregunta:

stoy realizando una aplicacion en Java en la cual hago uso de una lista de listas, el punto es que esa lista tngo q guardarla dentro de un archivo para despues usar los datos dentro de ese archivo (es decir, los datos de la lista) para esto tengo 3 opciones:

1. implementar la interface Serializable en la clase de la lista
2. usar FileInputStream y FileOutputStream
3. usar DataInputStream y DataOutputStream

la verdad no se con cual hacerlo, ahora mismo lo estoy haciendo con FileInput y FileOutput. si no fuese mucha molestia me gustaria q tambien me explicaran la diferencia entre FileInput y DataInput.

agradezco nuevamnte su tiempo, sera hasta otra oportunidad.