INGENIERIA EN SISTEMAS COMPUTACIONALES

Post on 05-Jan-2016

46 views 0 download

description

INGENIERIA EN SISTEMAS COMPUTACIONALES. ASIGNATURA: PROGRAMACION ORIENTADA A OBJETOS. ALUMNO: JAVIER MARTINEZ MARTINEZ. CONCEPTO DE FLUJO EN JAVA. - PowerPoint PPT Presentation

Transcript of INGENIERIA EN SISTEMAS COMPUTACIONALES

INGENIERIA EN SISTEMAS COMPUTACIONALES

ASIGNATURA: PROGRAMACION ORIENTADA A OBJETOS

ALUMNO: JAVIER MARTINEZ MARTINEZ

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.

CONCEPTO DE FLUJO EN JAVA

Esquema para trabajar con los flujos de datos de entrada/

salida.

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.

TIPOS DE FLUJOS

Clases mas importantes a tomar en cuenta:

Existe una clase especial en el paquete java.io de nombre RandomAccesFile 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.

Un archivo es una secuencia continua de datos, ya sean bytes o caracteres.

LEER Y ESCRIBIR UN ARCHIVO

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 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 excepción.

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

FileReader archivo = new FileReader(“prueba.txt”);

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().

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.

FILTROS

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.

ENTRADA DESDE TECLADO

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.

CLASE FILE

La clase RandomAccesFile 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: readInt(), readLong(), readDouble(), readLine().

ARCHIVOS DE ACCESO ALEATORIO

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:

writeInt(), writeLong(), writeDouble(), writeBytes(), etc.

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:

getFilePosition( ): 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 en el byte especificado.

lenght( ): Devuelve el tamaño actual del archivo.

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

Para escribir objetos de una clase se utiliza el flujo ObjectOutputStream.

En la serializacion de un objeto se escriben en el flujo todos los atributos que no sean static ni transient.

LECTURA Y ESCRITURA DE OBJETOS

Para escribir un objeto se utiliza el método writeObject().

Para leer un objeto escrito mediante serializacion se utiliza el flujo ObjectInputStream. Una vez cerrado un objeto de este flujo, se puede llamar al método readObject( ) para leer un objeto del flujo.