La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Archivos en Java Unidad III – Programación Orientada a Objetos en Java Programación I

Presentaciones similares


Presentación del tema: "Archivos en Java Unidad III – Programación Orientada a Objetos en Java Programación I"— Transcripción de la presentación:

1 Archivos en Java Unidad III – Programación Orientada a Objetos en Java Programación I - 0416202

2 Polimorfismo y Clases Abstractas Contenido Esta lección abarca los siguientes temas: Archivos de Texto Objetos serializados Archivos binarios

3 Archivos en Java Archivos de datos El almacenamiento de datos en variables y en arreglos es temporal; al terminar un programa todos éstos datos se pierden. Muchas aplicaciones requieren escribir o leer información de un dispositivo de almacenamiento auxiliar. Tal información se almacena en éstos dispositivos en la forma de un archivo de datos. Por tanto, los archivos de datos nos permiten almacenar información de modo permanente y acceder y alterar la misma cuando sea necesario.

4 Archivos en Java Archivos de datos La información almacenada en un archivo pueden ser datos byte o caracteres (texto), y pueden ser leídos en la misma forma. Java cuenta aproximadamente con 20 clases para el acceso a archivos, cada una con su propio conjunto específico de métodos. Además se pueden acceder los datos con acceso de flujo ó secuencial y también del modo aleatorio.

5 Archivos en Java Archivos de datos Comenzaremos por estudiar los archivos de texto con acceso de flujo, esto significa que al leer un archivo, todo lo que puede hacerse es leer el siguiente elemento. Si, por ejemplo, quisiéramos examinar el último elemento, tendríamos que leer cada uno de los elementos en turno, hasta llegar al elemento requerido. Las clases de flujo están organizadas de la siguiente forma: Lectura Escritura BufferedReader PrintWriter FileReader BufferedWriter FileWriter

6 Archivos de Texto en Java Archivos de datos Para procesar archivos se utilizan las clases BufferedReader y PrintWriter para leer y escribir líneas de texto, respectivamente. Escribir un archivo de texto requiere el uso apropiado de clases para crear el flujo de salida y llamar a los métodos para escribir los datos. La clase FileWriter representa un archivo texto de salida. La clase PrintWriter ofrece los métodos print y println similares a los de System.

7 Archivos de Texto en Java Archivos de datos La clase FileReader representa un archivo de entrada que contiene caracteres. Su constructor inicializa la relación entre el programa y el archivo, abriendo un stream (flujo) a partir del cual se leerán los datos. Después de utilizar un archivo es muy recomendable que se cierre, ya que de lo contrario no se garantiza que los datos se guarden satisfactoriamente.

8 Archivos de Texto en Java Archivos de datos Ejemplo que genera un archivo denominado prueba.dat con números aleatorios.

9 Archivos de Texto en Java Archivos de datos Ejecución del ejemplo anterior.

10 Archivos de Texto en Java Archivos de datos Ejemplo que lee del archivo prueba.dat creado anteriormente.

11 Archivos de Texto en Java Archivos de datos Ejecución del ejemplo anterior

12 Archivos de Texto en Java Archivos de datos Estas mismas clases (FileReader y BufferedReader) se pueden utilizar para manejo de objetos. Por ejemplo considere las siguientes clases:

13 Archivos de Texto en Java Archivos de datos

14 Ejecución del ejemplo anterior

15 Archivos de Texto en Java Archivos de datos

16 Ejecución del ejemplo anterior

17 Archivos de Texto en Java Archivos de datos Otro grupo de instrucciones con las que cuenta Java para trabajar archivos son las que se ofrecen con la clase Scanner. Esta clase permite obtener datos desde el teclado y/o desde un archivo. La librería a incluir es la: java.util.Scanner

18 Archivos de Texto en Java Archivos de datos Para obtener un número de un archivo

19 Archivos de Texto en Java Archivos de datos Ejecución del ejemplo anterior

20 Archivos de Texto en Java Archivos de datos Ahora supongamos que queremos leer un archivo con varias líneas:

21 Archivos de Texto en Java Archivos de datos Ejecución del ejemplo anterior

22 Archivos de Texto en Java Archivos de datos Para obtener los datos con su formato

23 Archivos de Texto en Java Archivos de datos Ejecución del ejemplo anterior Los flotantes usan (,) como decimal y al final de cada línea se agregó un espacio en blanco

24 Archivos en Java Objetos serializados Un objeto se serializa transformándolo en una secuencia de bytes que representan al objeto. Posteriormente ésta información puede restablecerse. Una vez serializado el objeto puede almacenarse en un archivo o transmitirse por la red. Un objeto que desea serializarse debe tener la interface Serializable, que sirve como bandera al compilador. Para serializar un objeto se invoca al método writeObject de ObjectOutputStream. Para deserializar un objeto invoca al método readObject de ObjetInputStream.

25 Archivos en Java Objetos serializados Por ejemplo, suponga la clase Auto implementada como Serializable y que se desea almacenar en un archivo. Para hacer esto, debe crearse un FileOutputStream y envolverlo en un ObjectOutputStream: Para serializar el objeto se invoca al método writeObject: FileOutputStream salArch = new FileOutputStrem ("info.dat"); ObjectOutputStream salStream = new ObjectOutputStream (salArch); salStream.writeObject (miAuto);

26 Archivos en Java Objetos serializados Para invertir el proceso, primero se crea un flujo de entrada FileInputStreamflujo que se envuelve en un ObjectInputStream: Para leer y deserializar el objeto: El método readObject regresa una referencia a un Object, por lo que debe de realizarse un casting a la clase apropiada FileInputStream entArch = new FileInputStream ("info.dat"); ObjectInputStream entStream = new ObjectInputStream (entArch); Auto c = (Auto) entStream.readObject ();

27 Archivos en Java Objetos serializados Ejemplo: Ejemplo: Considere la serialización de la clase Auto para guardar en un archivo objetos de tipo Auto, esto lo hace la clase EscribeArchivoAutos y para leer del mismo archivo objetos de tipo Auto se utiliza la clase LeeArchivoAutos.

28 Archivos en Java Objetos serializados

29

30 Ejecución del ejemplo anterior

31 Archivos en Java Objetos serializados

32 Ejecución del ejemplo anterior

33


Descargar ppt "Archivos en Java Unidad III – Programación Orientada a Objetos en Java Programación I"

Presentaciones similares


Anuncios Google