package lectura_escritura_archivos; /** @author jp.av.dev@gmail.com */ import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; import java.util.Scanner; public class CrearArchivoBinario { private ObjectOutputStream salida; public void abrirArchivo() { try { salida = new ObjectOutputStream(new FileOutputStream("C:\\archivos\\personas.ser")); } catch (IOException ex) { ex.printStackTrace(); } } public void agregarRegistros() { Persona objPersona; String nombre; String direccion; String nacionalidad; int edad; double salario; Scanner entrada = new Scanner(System.in); System.out.println("Introduzca los datos de la persona\n Para terminar escriba el indicador" + "de fin de archivo.\nPara UNIX/LINUX o Mac OS X, escriba d y oprima intro." + "Para Wintendo escriba \n z y oprima intro.\n\n"); System.out.println("Escribe el nombre, la dirección, la nacionalidad,\n" + "la edad y el salario de la persona"); while( entrada.hasNext() ) { try { nombre =entrada.next(); direccion = entrada.next(); nacionalidad = entrada.next(); edad = entrada.nextInt(); salario = entrada.nextDouble(); objPersona = new Persona(nombre, direccion, nacionalidad, edad, salario); salida.writeObject(objPersona); } catch( IOException ex ) { ex.printStackTrace(); } System.out.println("Escribe el nombre, la dirección, la nacionalidad,\n" + "la edad y el salario de la persona"); } } public void cerrarAchivo() { try { if ( salida != null) { salida.close(); } } catch (IOException ex) { ex.printStackTrace(); } } public static void main(String[] args) { CrearArchivoBinario aplicacion = new CrearArchivoBinario(); aplicacion.abrirArchivo(); aplicacion.agregarRegistros(); aplicacion.cerrarAchivo(); } }