Java - Guardar un objeto en un fichero de texto

 
Vista:

Guardar un objeto en un fichero de texto

Publicado por Kike (1 intervención) el 11/06/2014 19:37:16
Buenas tardes, tengo una duda.
Parto de que tengo una clase padre por ejemplo Profesor con atributos String nombre y apellidos.
A su vez tengo otra clase hija llamada Especialidad con el atributo String: especialidad.

Quisiera saber como hacer un método que recibe un string con el nombre del fichero ,y guarde en el los datos del objeto sobre el que se implementa.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Guardar un objeto en un fichero de texto

Publicado por Arturo (13 intervenciones) el 20/06/2014 21:31:08
Espero que te ayude lo hice en 4 clases

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
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);
	}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar