import java.io.Serializable;
public class Profesor implements Serializable{
private String nombre;
private String apellidos;
private Especialidad especialidad;
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getApellidos() {
return apellidos;
}
public void setApellidos(String apellidos) {
this.apellidos = apellidos;
}
public Especialidad getEspecialidad() {
return especialidad;
}
public void setEspecialidad(Especialidad especialidad) {
this.especialidad = especialidad;
}
@Override
public String toString() {
return "Profesor [nombre=" + nombre + ", apellidos=" + apellidos
+ ", especialidad=" + especialidad + "]";
}
}
import java.io.Serializable;
public class Especialidad implements Serializable{
private String nombre;
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
@Override
public String toString() {
return "Especialidad [nombre=" + nombre + "]";
}
}
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
public class GestionArchivos {
private static String fichero = "Profesor.obj";
public static Profesor cargaProfesor() {
FileInputStream fis = null;
ObjectInputStream entrada = null;
Profesor obj = null;
try {
fis = new FileInputStream(fichero);
entrada = new ObjectInputStream(fis);
obj = (Profesor) entrada.readObject();
} catch (IOException ex) {
System.out.println("Fallo la carga del archivo");
} catch (ClassNotFoundException ex) {
System.out.println("Fallo la carga del objeto");
} finally {
try {
if (fis != null) {
fis.close();
}
} catch (IOException ex) {
System.out.println("Fallo la carga del archivo");
}
try {
if (entrada != null) {
entrada.close();
}
} catch (IOException ex) {
System.out.println("Fallo la carga del archivo");
}
}
return obj;
}
public static void guardaArchivo(Profesor object) {
ObjectOutputStream salida = null;
FileOutputStream fos = null;
try {
fos = new FileOutputStream(fichero);
salida = new ObjectOutputStream(fos);
salida.writeObject(object);
} catch (IOException ex) {
System.out.println("Fallo la cerrar del archivo");
} finally {
try {
if (fos != null) {
fos.close();
}
} catch (IOException ex) {
System.out.println("Fallo la cerrar del archivo");
}
try {
if (salida != null) {
salida.close();
}
} catch (IOException ex) {
System.out.println("Fallo la cerrar del archivo");
}
}
}
}
public class GestionProfesor {
public static void main(String[] args) {
Profesor miProfesor = new Profesor();
miProfesor.setNombre("Juan");
miProfesor.setApellidos("Perez");
Especialidad especialidad = new Especialidad();
especialidad.setNombre("Cirujano");
miProfesor.setEspecialidad(especialidad);
System.out.println("Profesor: " + miProfesor);
GestionArchivos.guardaArchivo(miProfesor);
Profesor otroProfesor = GestionArchivos.cargaProfesor();
System.out.println("Profesor: " + otroProfesor);
}
}