Java_Proyectos_NetBeans/Apuntes_guia/lectura_escritura/CrearArchivoBinario.java

72 lines
2.4 KiB
Java
Raw Permalink Normal View History

2020-11-16 01:59:57 -03:00
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 <ctrl> d y oprima intro."
+ "Para Wintendo escriba \n <ctrl> 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();
}
}