Java

Solo disponible en BuenasTareas
  • Páginas : 10 (2462 palabras )
  • Descarga(s) : 0
  • Publicado : 22 de marzo de 2011
Leer documento completo
Vista previa del texto
http://www.dccia.ua.es/dccia/inf/asignaturas/PG/Tema7.pdf

1. Archivos y flujos
El término "fichero" o "archivo" es una abstracción que representa la infomación que se
almacena físicamente en algún dispositivo, como un disco duro o un disquette. Podemos pensar
en un fichero como en una colección de información relacionada lógicamente, como el código
fuente de un programa, o el conjunto dedatos de los empleados de una empresa.
Java considera los archivos como flujos secuenciales de bytes. Cada archivo termina con un
marcador de fin de archivo o bien en un número de byte específico registrado en una estructura
de datos mantenida por el sistema. Para poder leer o escribir en un archivo, es necesario
"abrirlo" primero. Cuando se abre un archivo, se crea un objeto y se asocia unflujo
1
(stream) a
dicho objeto. Cuando comenzamos a ejecutar una aplicación o un applet de Java, se crean
automáticamente tres objetos de flujo: System.in, System.out y System.err. Los flujos
asociados a estos objetos proporcionan canales de comunicación entre un programa y un
archivo o dispositivo en particular. Por ejemplo, el objeto System.in (objeto de flujo de entrada
estándar)permite a un programa introducir bytes desde el teclado, el objeto System.out (objeto
de flujo de salida estándar) permite a un programa enviar datos a la pantalla, y el objeto
System.err (objeto de flujo de error estándar) permite a un programa enviar mensajes de error a
la pantalla.
Si queremos procesar archivos en Java necesitamos importar el paquete java.io. En la
Figura 7.1 aparecerepresentada parte de la jerarquía de clases relacionada con la
entrada/salida de datos. Este paquete incluye las definiciones de las clases de flujos como
FileInputStream (para el flujo de entrada de un archivo) y FileOutputStream (para el flujo de
salida a un archivo). Los archivos se abren creando objetos de estas clases de flujo que se
derivan de las clases InputStream y OutputStream,respectivamente. Las clases InputStream
y OutputStream son clases abstractas que definen métodos para realizar operaciones de
entrada y salida.
Es importante destacar que los objetos InputStream poseen un método de lectura, read(),
que tiene el efecto lateral de eliminar el byte o bytes leídos, en vez de copiarlos. Otro método
interesante implementado por las subclases de InputStream es el métodoclose(), éste
libera los recursos utilizados por el sistema, y como consecuencia, hace que sean imposibles
posteriores operaciones de lectura.
Siempre se debe cerrar un objeto InputStream, mediante el método close() , cuando se
haya dejado de utilizar.
Las signaturas de dichos métodos son:

ARCHIVOS SECUENCIALES EN JAVA.

Existen varias técnicas para representar y almacenar registrosllamadas organizaciones de archivos.

Hay dos aspectos importantes en que difieren las organizaciones de archivos:
la secuenciación de registros y el conjunto de operaciones para manipularlos.

La forma más sencilla de almacenar un conjunto de registros en un archivo es mediante la organización secuencial. En este tipo de archivos, los registros son escritos consecutivamente cuando el archivo escreado, por lo tanto, deben ser accesados de ese modo cuando se consultan.

La característica más importante de esta técnica de organización de archivos es que solo permite el acceso secuencial, es decir, para accesar al registro k, se deben recorrer los k-1 registros anteriores.

Esta característica impide que el archivo secuencial se use en procesos en línea debido a que no se puedenconsultar rápidamente los registros, sin embargo, muestra buen rendimiento en procesos en lote donde se aprovecha la capacidad para accesar al siguiente registro rápidamente. Otra ventaja de esta organización de archivos radica en que la dirección del registro está implícita en el sistema; es decir, no se pierden registros por la desaparición de direcciones.

La programación orientada a objetos (POO)...
tracking img