700 likes | 879 Views
Igor Santos Grueiro. Programación II Ficheros. Ahora tenemos datos y datos …. … pero ¿ dónde están esos datos?. Aquí NO están…. … aquí tampoco están esos datos…. … entonces, ¿ dónde están ?. Están aq uí. Y si alguien pulsa …. … nos podemos pegar un tiro …. … o utilizar
E N D
Igor Santos Grueiro Programación IIFicheros
… aquí tampoco están esos datos…
… o utilizar los ficheros
Un fichero es un conjunto de datos homogéneos almacenados en un soporte externo permanente.
Según su contenido pueden clasificarse en Ficheros de Texto Ficheros de Registros Ficheros de Objetos
Según su método de acceso pueden clasificarse en
Ficheros de accesodirecto
Ficheros de accesoindexado
Según la relación con el programa pueden clasificarse en De entrada De salida De entrada y salida
Y, ¿cómose manejan los ficheros en Java?
Hay que importar la biblioteca de manejo de entrada y salida
Se añade en la cabecera import java.io.*;
Si vamos a meter objetos en el fichero…
… el tipo (o clase) del objeto tiene ser “Serializable”
publicclassNombreDeLaClase implementsSerializable
añadiremos throwsException a estos métodos
1 Crear un objeto de la clase FileOutputStream asociado al nombre del fichero físico
FileOutputStreamNombreObjetoFicheroFisico = newFileOutputStream(“NombreDelFichero.DAT”);
2 Crear un objeto de la clase ObjectOutputStream asociado al objeto anterior, es decir al fichero físico
ObjectOutputStreamNombreObjetoFicheroLogico = newObjectOutputStream(NombreObjetoFicheroFisico);
3 Para escribir en el fichero los objetos de una clase concreta deberemos utilizar writeObject
4 Se puede grabar un objeto null como marca de fin de fichero
5 Se cierra el fichero lógico
1 Crear un objeto de la clase FileInputStream asociado al nombre del fichero físico
FileInputStreamNombreObjetoFicheroFisico = newFileInputStream(“NombreDelFichero.DAT”);
2 Crear un objeto de la clase ObjectInputStream asociado al objeto anterior, es decir al fichero físico
ObjectInputStreamNombreObjetoFicheroLogico = newObjectInputStream(NombreObjetoFicheroFisico);
3 Para leer los objetos que estén en el fichero los objetos de una clase concreta deberemos utilizar readObject
ClaseDelObjetoVariableObjeto = (ClaseDelObjeto)NombreObjetoFicheroLogico.readObject();