Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Flujos y archivos
Introducción
Los algoritmos de ordenamiento de vectores que se estudian o se proponen están limitados a una
secuencia pequeña de datos y asumen que dichos datos se almacenan en la memoria principal. Si
la cantidad de datos no cabe en la memoria, entonces no pueden aplicarse los algoritmos vistos.
En la vida real, permanentemente nos encontramos con casos en los que esto sucede. Por ejemplo,
tenemos datos permanentes en un CD o en cintas de respaldo, y quizás deseamos ordenar los
datos que allí residen. Entonces, necesitamos ver otras técnicas que se complementen con las
técnicas usualmente encontradas en libros.
1. Archivos
Hay dos tipos de acceso a los registros de un archivo, el acceso secuencial y el acceso directo. En
el acceso secuencial se sigue el orden de almacenamiento, es decir, se accede a un registro tras
otro. Un ejemplo de este tipo de acceso se da en las cintas. En el acceso directo se accede a un
registro determinado sin consultar los precedentes (“Tipos de archivo de acuerdo a su organización y
operaciones sobre estos”, s. f.). Esto se puede dar solamente en aquellos soportes que permiten
este tipo de acceso, tales como un disco o un CD. Este tipo de soportes se llaman soportes
direccionales.
2. Flujos
En Java, al abrir un archivo se crea un objeto que queda asociado a un flujo. Los programas leen o
escriben en el flujo, que estará conectado a un dispositivo u otro. El flujo se abstrae del dispositivo
real. En Java se crean 3 objetos flujo al comenzar la ejecución de un programa:
Java declara dos clases abstractas para flujos, InputStream y OutputStream. Para el caso de
archivos se usan las clases FileInputStream y FileOutputStream. Dichas clases leen y escriben bytes
en un archivo.
Los flujos están asociados a archivos que están en cualquier dispositivo. Por ejemplo, se puede
declarar un flujo que escribe en el archivo a.dat como sigue a continuación:
Sin embargo, es una buena práctica pasarle al objeto flujo un objeto archivo a procesar, ya que esto
permite hacer controles previos sobre el archivo. Esto puede hacerse como se indica a continuación:
File miArchivo = new File(“a.dat”)
FileOutputStream mf = new FileOutputStream( miArchivo )
Referencias
Tipos de archivo de acuerdo a su organización y operaciones sobre estos. (s. f.). [Apunte de
cátedra]. Recuperado de http://fcasua.contad.unam.mx/apuntes/interiores/docs/98/3/informatica3.pdf