nombre: aurora mendoza pastrana profesora: ing. angelina leal alvarado

34
NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO MATERIA: PROGRAMACION ORIENTADA A OBJETOS

Upload: duard

Post on 22-Feb-2016

80 views

Category:

Documents


0 download

DESCRIPTION

NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO MATERIA: PROGRAMACION ORIENTADA A OBJETOS. CONCEPTO DE FLUJO EN JAVA. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO

NOMBRE: AURORA MENDOZA PASTRANA

PROFESORA: ING. ANGELINA LEAL ALVARADO

MATERIA: PROGRAMACION ORIENTADA A OBJETOS

Page 2: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO

CONCEPTO DE FLUJO EN JAVALa informacion que necesita un programa para su

funcion se obtiene mediante una entrada de una fuente de datos que puede ser de tipos muy variados: desde el teclado, desde un archivo, en la pantalla, en la impresora, etc.

Page 3: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO

La forma como se genera este resultado puede ser de muy diferente tipo: texto, Binario, imágenes, etc.

En java la entrada de los datos se realiza mediante un flujo de entrada.

La salida se realiza mediante un flujo de salida.

Page 4: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO

El esquema para trabajar con los flujos de datos tanto de entrada como de salida es el que se muestra a continuación:

Page 5: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO
Page 6: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO

TIPOS DE FLUJOSExisten dos tipos de flujos definidos en java: unos que

trabajan en bytes y otros que trabajan con caracteres.

Así mismo existen clases conversoras que permiten obtener un flujo de bytes a partir de uno de caracteres y viceversa, tanto como lectura como para escritura.

Page 7: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO

Las clases mas importantes a tener en cuenta son en las que se muestran en la siguiente imagen:

Page 8: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO
Page 9: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO

LEER Y ESCRIBIR EN UN ARCHIVOUn archivo se encuentra en un disco.

Desde el punto de vista de lectura y de escritura un archivo se trata de una secuencia continua de datos, de bytes o caracteres.

En la siguiente imagen se puede mostrar una representación de caracteres:

Page 10: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO
Page 11: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO

La forma básica de utilizar un archivo para entrada y para salida de datos para leer el archivo y para escribir respectivamente se muestra en la siguiente imagen:

Page 12: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO
Page 13: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO

En el siguiente ejemplo se muestra un programa que abre un archivo llamado “prueba.txt”, escribe en el archivo caracteres en los caracteres “a” a la “z”, carácter a carácter, escribe por pantalla los caracteres leídos.

Page 14: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO
Page 15: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO

Para escribir en el archivo, se abre el flujo del archivo con la sentencia:

FileWriter Archivo-new FileWriter(“prueba.txt”):

Si el archivo no existe, lo crea. Si el archivo ya existe, elimina su contenido y empezara a escribir como si estuviese vacio. Si no puede abrir el archivo para escribir, genera una excepcion.

Page 16: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO

Para leer el archivo se abre el flujo utilizando la sentencia:

FileReader Archivo=new fileReader (“prueba.txt”)

Page 17: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO

Esta sentencia intenta abrir el archivo especificado.

Si existe y se puede abrir para lectura, lo abre.

En ambos casos se han terminado de escribir o de leer, se cierra el flujo utilizando el metodo close() sobre el objeto flujo.

Page 18: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO

FILTROSSe denomina filtros a las clases que representan un flujo

de datos, ya sean de lectura o de escritura pero cuyo origen o destino de los datos es otro flujo.

Estos flujos que se conectan a otros flujos que ya existen para, leyendo a través de los mismos transformar los datos, permiten proporcionar métodos de lectura o escritura mas apropiados al programador.

Page 19: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO

La siguiente imagen muestra como se puede utilizar el filtro BufferedReader para escribir la pantalla el contenido de un archivo que en este caso se trata del programa java:

Page 20: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO
Page 21: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO

ENTRADA DESDE TECLADOParala lectura de datos desde el teclado en java se

dispone de la clase Scanner para solicitar datos al usuario.

Java proporciona un flujo para la entrada predeterminada llamado: System.in que el sistema abre al empezar la ejecución del programa.

Page 22: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO

Este flujo lee, por defecto, del teclado.Así mismo se dispone del flujo System.out para la

salida predeterminada.Este flujo lee, por defecto, en la pantalla en la

consola de java.

Page 23: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO

En la siguiente imagen se van a leer los distintos tipos de datos del teclado como líneas completas que introduzca el usuario:

Page 24: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO
Page 25: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO
Page 26: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO

LA CLASE FILELa clase file no sirve para leer ni para escribir en un archivo sino que

permite, entre otras operaciones:

Obtener el tamaño del archivo.

Obtener el nombre completo, incluida la ruta.

Cambiar el nombre.

Eliminar el nombre.

Saber si es un directorio o un archivo.

Si es un directorio, obtener la lista de los archivos y directorios que contienen.

Crear un directorio.

Page 27: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO
Page 28: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO
Page 29: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO

ARCHIVO DE ACCESO ALEATORIOLa clase RandomAccessFile permite abrir un archivo de

lectura, o de lectura y de escritura simultaneamente.

Si se utiliza para lectura del archivo modo (“r”) dispone de metodos para leer elementos de cualquier tipo primitivo.

Page 30: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO

Los métodos que resultan de interes para el acceso aleatorio son los que permiten acceder a un lugar concreto dentro del archivo:

getfilePosition(): devuelve la posicion actual donde se va a realizar la operación de lectura o de escritura, devuelve la posicion, contando en bytes donde se encuentra actualmente el cursor del archivo.

Seek(): situa la posicion de la proxima operación de lectura o de escritura en el byte especificado.

Tength(): devuelve el tamaño actual del archivo.

Page 31: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO

En la siguiente imagen se puede mostrar como se utiliza para ir leyendo carácter a carácter de un archivo.

Page 32: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO
Page 33: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO
Page 34: NOMBRE: AURORA MENDOZA PASTRANA PROFESORA: ING. ANGELINA LEAL ALVARADO

LECTURA Y ESCRITURA DE UN ARCHIVOSe puede utilizar la capacidad de java para dar soporte a la

serializacion de objetos para poder leer y escribir objetos completos sin preocuparse de cómo están implementados por dentro.

Para que una clase pueda ser serializable debe de implementar la interfaz Serializable.