Vous êtes sur la page 1sur 14

Entrada y Salida de datos en JAVA

UNIVERSIDAD AUTONOMA DE BAJA CALIFORNIA


FACULTADED DE INGENIERIA Y NEGOCIOS SAN QUINTIN

Elaborado por:

TOMAS ORDUO HERNANDEZ

ARCHIVO

Un archivo es un conjunto de datos de largo variable identificado con un nombre. Un nombre de archivo suele tener dos partes separadas por un punto. La primera parte alude a su propsito; la segunda, llamada extensin, indica el tipo de datos que contiene. Un archivo cuyo nombre termina en .class contiene la definicin de una clase Java y el cdigo ejecutable para sus mtodos; un archivo terminado en ".java" contiene el texto del cdigo fuente escrito por el programador. Los archivos se agrupan en directorios (hoy en da denominados carpetas).

DIRECTORIO

Un directorio es un conjunto de archivos guardados bajo un nombre comn, el nombre del directorio. Un directorio puede estar dentro de otro directorio, llamado a v eces "directorio padre. Se forma as un rbol de directorios, una organizacin jerrquica de directorios y subdirectorios contenidos en ellos, en varios niveles.

RUTA O PATH
La lista ordenada de directorios que lleva desde la raz del rbol hasta un archivo especfico se denomina una ruta o en ingl s "path". Un ejemplo en MS Windows sera C:\Mis Documentos\FHernandez\DesaSoft\ EntradaSalida\apuntes.pdf En Unix o Linux, /home/fhernandez/DesaSoft/EntradaSalida /apuntes.pdf

TIPOS DE ACCESO A DATOS

Acceso aleatorio ("random"): Los archivos de acceso aleatorio, al igual que lo que su cede usualmente con la memoria (RAM=Random Access Memory), permiten acceder a los datos en forma no secuencial, desordenada. Esto implica que el archivo debe estar disponible en su totalidad al momento de ser accedido, algo que no siempre es posible Acceso secuencial (flujos o "streams"): En este caso los datos son ledos secuenci almente, desde el comienzo del archivo hasta el final (el cual muchas veces no se conoce a priori). Este es el caso de la lectura del teclado o la escritura en una consola de texto, no se sabe cundo el operador terminar de escribir. Concatenacin (tuberas o "pipes"): Muchas veces es til armar conexion es entre programas que corren simultneamente dentro de una misma mquina, de forma que lo que uno produce se enva por un tubo para ser recibido por el otro, que est esperando a la salida del tubo. Las tuberas o "pipes" cumplen esta funcin.

ENTRADA Y SALIDA ESTNDAR (ESTANDAR I/O)

En sistemas como MS Windows o Unix (incluyend o Linux), en donde existe el concepto de terminal o consola de texto, el sistema operativo provee un mecanismo bsico de interaccin con el usuario conectando el flujo de datos proveniente del teclado a la llamada entrada estndar del programa, mostrando la "salida estndar" del programa como texto desplegado en la pantalla. La entrada estndar y la salida estndar pueden redireccionarse, haciendo por ejemplo que se lea de un archivo y se escriba en otro.

FLUJOS DE ENTRADA Y SALIDA

Un flujo de entrada / salida (I/O stream, Input / Output stream) representa una fuente desde la cual se reciben datos o un destino hacia el cual se envan datos. Un flujo de datos puede provenir o dirigirse hacia archivos en disco, dispositivos de comunicaciones, otros programas o arreglos en memoria. Los datos pueden ser bytes, tipos primitivos, caracteres propios de un idioma local, u objetos. Los flujos pueden simplemente transferir datos sin modificacin o manipular esos datos para transformarlos de diversas maneras como parte del proceso de transferencia. Sea cual sea el tipo de datos, un flujo se presenta como una secuencia de datos. Un flujo de entrada (in put stream) lee datos de una fuente, un item por vez. Un flujo de salida (output stream) escribe datos en un destino, un item por vez.

FLUJOS DE BYTES (BYTE STREAMS)

Los flujos de bytes realizan operaciones de entrada y salida en base a bytes de 8 bits. Todos las clases de flujos de bytes descienden de las clases InputStream y OutputStream. Las clases FileInputStream y FileOutputStream ma nipulan flujos de bytes provenientes o di rigidos hacia archivos en disco.

FLUJOS DE CARACTERES

Los flujos de caracteres suelen ser clases envolventes de los flujos de bytes. Los flujos de caracteres usan los flujos de bytes a nivel fsico; los flujos de bytes realizan las transformaciones requeridas por los esquemas de codificacin en forma transparente (invisible) para el usuario. La clase FileReader usa FileInputStream, la clase FileWriter usa FileOutputStream.

FLUJO DE CARACTERES

Un buffer es un rea de memoria utilizada como almacenamiento intermedio para mejorar la eficiencia de las operaciones de entrada salida: escribir o leer de memoria es mucho ms rpido que escribir o leer de dispositivos perifricos. Cuando se usan buffers slo se lee o escribe en el dispositivo final cuando el buffer est lleno, reduciendo la cantidad de operaciones de lectura y escritura sobre los dispositivos lentos (ms lentos que la memoria). Las clases para entrada salida con buffer son clases envolventes de las clases para entrada salida sin buffer. Las clases disponibles para entrada salida con buffer son: BufferedInputStream y BufferedOutputStream para flujos de bytes, BufferedReader y BufferedWriter para flujos de caracteres. Estas clases disponen del mtodo flush() para forzar la operacin de entrada salida est o no el buffer lleno, operacin que conviene hacer en momentos crticos donde puede haber prdida de informacin.

FLUJO DE DATOS

Los flujos de datos soportan operaciones de e ntrada salida de datos de tipo primitivo (bool ean, char, byte, short, int, long, float, y double) as como cadenas de caracteres (String).

Los flujos de datos implementan la interfaz DataInput o la interfaz DataOutput. Las implementaciones ms usadas de estas interfaces son las clases DataInputStream y DataOutputStream.

FLUJO DE OBJETOS

Los flujos de objetos permiten realizar operaciones de entrada salida de objetos. Muc has de las clases estndar soportan serializacin de sus objetos, implementando la Interfaz Serializable. La serializacin de objetos permite guardar el objeto en un archivo escribiendo sus datos en un flujo de bytes. Es posible luego leer desde el archivo el flujo de bytes y reconstruir el objeto original.

Las clases de flujos de objetos son ObjectInputStream y ObjectOutputStream. Estas clases implementan las interfaces ObjectInput y ObjectOutput, subinterfaces de DataInput y DataOutput. En consecuencia, todos los mtodos de entrada salida que estaban disponibles para flujos de datos primitivos estarn implementados tambin para flujos de objetos. Si un objeto tiene referencias a objetos de otras clases, los mtodos writeObject y readObject debern recorrer la jerarqua de clases buscando todo lo necesario para poder construir el flujo con todos los objetos necesarios. Los objetos guardados se reconstruyen exactamente como estaban; si existen varias referencias a un mismo objeto, cuando los objetos sean reconstruidos todas esas referencias seguirn apuntando al mismo objeto.

EL PAQUETE java.io

El examen de la API de Java muestra la complejidad y variedad de clases contenidas en el paquete java.io. La visin "Tree" en la API de java.io muestra la jerarqua de clases. Algunas otras clases tiles permiten:

Manipular archivos comprimidos en el paquete java. util.zip: ZipFile, ZipInputStream, ZipOutputStream), para formato ZIP, y sus equivale ntes GZIPFile, etc. para formato GZIP, agregar checksums para detectar errores o alteraciones de archivos, CheckedInputStream, CheckedOutputSt ream.

Vous aimerez peut-être aussi