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); }
}