INGENIERIA EN SISTEMAS COMPUTACIONALES ASIGNATURA PROGRAMACION ORIENTADA A

  • Slides: 20
Download presentation
INGENIERIA EN SISTEMAS COMPUTACIONALES ASIGNATURA: PROGRAMACION ORIENTADA A OBJETOS ALUMNO: JAVIER MARTINEZ

INGENIERIA EN SISTEMAS COMPUTACIONALES ASIGNATURA: PROGRAMACION ORIENTADA A OBJETOS ALUMNO: JAVIER MARTINEZ

CONCEPTO DE FLUJO EN JAVA � La información que necesita un programa para su

CONCEPTO DE FLUJO EN JAVA � La información que necesita un programa para su función se obtiene mediante una entrada de datos de un fuente que puede ser de tipos muy variados: teclado, archivo, red, etc. � Cuando el programa genera los resultados como salida de la ejecución puede hacerlo de muy diversas maneras: en archivo, pantalla, impresora, etc. Y puede ser de tipo texto, binario, en imágenes, etc.

Esquema para trabajar con los flujos de datos de entrada/ salida.

Esquema para trabajar con los flujos de datos de entrada/ salida.

TIPOS DE FLUJOS � Existen dos tipos de flujos en Java: los que trabajan

TIPOS DE FLUJOS � Existen dos tipos de flujos en Java: los que trabajan con bytes y otros que trabajan con caracteres. � Existen clases conversoras que permiten obtener un flujo de bytes a partir de uno de caracteres y viceversa, tanto para la lectura como para escritura.

Clases mas importantes a tomar en cuenta:

Clases mas importantes a tomar en cuenta:

� Existe una clase especial en el paquete java. io de nombre Random. Acces.

� Existe una clase especial en el paquete java. io de nombre Random. Acces. File para el acceso aleatorio de archivos. � Permite utilizar los archivos en modo lectura y escritura simultáneamente o acceder a datos de forma aleatoria indicando la posición en la que se quiere operar.

LEER Y ESCRIBIR UN ARCHIVO � Un archivo es una secuencia continua de datos,

LEER Y ESCRIBIR UN ARCHIVO � Un archivo es una secuencia continua de datos, ya sean bytes o caracteres.

FORMA BASICA DE UTILIZAR UN ARCHIVO PARA ENTRADA Y SALIDA DE DATOS.

FORMA BASICA DE UTILIZAR UN ARCHIVO PARA ENTRADA Y SALIDA DE DATOS.

� Para escribir en un archivo, se abre el flujo del archivo con la

� Para escribir en un archivo, se abre el flujo del archivo con la sentencia: � File. Writer � Si archivo= new File. Writer(“prueba. txt”); 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 excepción.

� Para leer el archivo se abre el flujo utilizando la sentencia: � File.

� Para leer el archivo se abre el flujo utilizando la sentencia: � File. Reader archivo File. Reader(“prueba. txt”); = new � Esta sentencia intenta abrir el archivo. Si existe y se puede abrir la lectura lo abre. Si existe y no lo puede abrir para lectura o si no existe, genera una excepción. � Una vez que se ha terminado de escribir o leer se cierra el flujo con el método close().

FILTROS � Son clases que representan un flujo de datos, ya sean de lectura

FILTROS � Son 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. � Se conectan a otros flujos para proporcionar métodos de lectura o escritura mas apropiados al programador.

ENTRADA DESDE TECLADO � Para lectura de datos del teclado, se dispone de la

ENTRADA DESDE TECLADO � Para lectura de datos del teclado, se dispone de la clase Scanner. � Java proporciona un flujo para la entrada llamado System. in. � Asimismo dispone del flujo System. out para la salida predeterminada. � Ambos son flujos de bytes.

CLASE FILE � La clase File no sirve para leer ni para escribir en

CLASE FILE � La clase File no sirve para leer ni para escribir en un archivo sino permite, entre otras cosas: � 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 contiene. � Crear un directorio.

ARCHIVOS DE ACCESO ALEATORIO � La clase Random. Acces. File permite abrir un archivo

ARCHIVOS DE ACCESO ALEATORIO � La clase Random. Acces. File permite abrir un archivo como de lectura, o de lectura y escritura simultáneamente. � Para la lectura del archivo (modo r) dispone de métodos para leer elementos de cualquier tipo primitivo: read. Int(), read. Long(), read. Double(), read. Line().

� Cuando se utiliza en el modo de lectura y escritura (modo “rw”) se

� Cuando se utiliza en el modo de lectura y escritura (modo “rw”) se pueden utilizar los métodos de escritura para escribir los tipos de datos de forma similar a como se pueden leer con los métodos: � write. Int(), write. Long(), write. Double(), write. Bytes(), etc.

� Los métodos para el acceso aleatorio son los que permiten acceder a un

� Los métodos para el acceso aleatorio son los que permiten acceder a un lugar concreto dentro del archivo y conocer el punto del mismo en el que se va a realizar la operación de lectura y/o escritura: � get. File. Position( ): devuelve la posición actual donde se va a realizar la operación de lectura o escritura. Indica donde se encuentra el cursor del archivo.

� seek( ): Sitúa la posición de la próxima operación de lectura o escritura

� seek( ): Sitúa la posición de la próxima operación de lectura o escritura en el byte especificado. � lenght( ): Devuelve el tamaño actual del archivo.

LECTURA Y ESCRITURA DE OBJETOS � Para que una clase sea serializable debe de

LECTURA Y ESCRITURA DE OBJETOS � Para que una clase sea serializable debe de implementar la interfaz Serializable. � Para escribir objetos de una clase se utiliza el flujo Object. Output. Stream. � En la serializacion de un objeto se escriben en el flujo todos los atributos que no sean static ni transient.

� Para escribir un objeto se utiliza el método write. Object(). � Para leer

� Para escribir un objeto se utiliza el método write. Object(). � Para leer un objeto escrito mediante serializacion se utiliza el flujo Object. Input. Stream. Una vez cerrado un objeto de este flujo, se puede llamar al método read. Object( ) para leer un objeto del flujo.