Sie sind auf Seite 1von 23

Administracin

de archivos
Facultad de Ingeniera, UAC
Ing. Enrique Perera Abreu, MIMRT
Contenido
Introduccin a la administracin de archivos ..................................................................................... 4
Terminologa a utilizar .............................................................................................................. 4
Elementos propios del archivo. ................................................................................................ 5
Operaciones con archivos de datos. ........................................................................................ 5
Introduccin a los archivos ................................................................................................................. 6
Concepto de archivo.................................................................................................................... 6
Concepto de archivo desde el ms bajo nivel ........................................................................ 6
Clases de archivos ....................................................................................................................... 7
Archivos de texto ................................................................................................................................ 7
Hasta aqu llegan los temas que sern evaluados en el primer exades!! ....................... 15
Modos de acceso a un archivo ................................................................................................. 15
Clases a estudiar ........................................................................................................................ 16
Generalidades ............................................................................................................................ 16
1. Se abre el archivo. ................................................................................................................. 16
2. Se utiliza el fichero. ............................................................................................................... 16
3. Gestin de excepciones (opcional, pero recomendada) ....................................................... 16
4. Se cierra el fichero y se destruye el objeto. .......................................................................... 16
La clase FileOutputStream ....................................................................................................... 17
La clase FileInputStream ......................................................................................................... 18
Introduccin a los Archivos de Acceso Secuencial. ........................................................................... 19
Estructura de los archivos secuenciales ............................................................................................ 20
Las principales caractersticas de esta estructura son: ..................................................... 20
Ventajas y desventajas. ............................................................................................................ 20
Ventajas: ................................................................................................................................... 20
Desventajas: .............................................................................................................................. 20
Archivos Secuenciales (Read, Write). ................................................................................................ 21
Almacenamiento de archivos Secuenciales.......................................................................... 22
Transacciones de archivos secuenciales. .......................................................................................... 22
Creacin de archivos secuenciales. ........................................................................................ 22
Actualizacin de archivos secuenciales. ............................................................................... 22
Clasificacin de los archivos secuenciales. ........................................................................... 22
Recuperacin de archivos secuenciales. ............................................................................... 23
Ejemplos de aplicacin ...................................................................................................................... 23



Introduccin a la administracin de archivos

naliza la tcnica de almacenamiento de archivos Secuenciales y texto para conocer la
manipulacin de los datos con base a las caractersticas que lo distingan.
Provee acceso a archivos y facilita el realizar operaciones con ellos, como copiar,
mover, eliminar archivos donde el usuario lo quiera ubicar y poder ingresar a ellos para
realizar ciertas tareas.
Terminologa a utilizar
Carcter:
Nivel mnimo de almacenamiento.
Dato:
Conjunto de caracteres con algn significado.
Campo:
Caracterstica de un individuo u objeto.
Registro:
Coleccin de campos del mismo individuo u objeto.
Archivo:
Coleccin de registros con estructura idntica.
Base de datos:
Coleccin de archivos relacionados entre si.
Campos Llave
Son aquellos que permiten identificar en forma unvoca a un registro. Generalmente se
designaran como campos llave, aquellos que no contienen datos repetidos.
Si el sistema de archivos no posee campos con esas caractersticas, debern utilizarse
llaves intermedias o escalonadas.
Este mtodo presenta listas de objetos (o individuos) que se van reduciendo conforme
se introducen los valores para cada una de las llaves escalonadas. El proceso se da por
concluido al hacer contacto visual con el objeto buscado o hasta reducir la lista de tal
forma que se determina la inexistencia del objeto.
Campos de secuencia
Son aquellos que permiten establecer una coleccin de continuidad entre los registros
de un archivo.
Transacciones
Es cada uno de los procesos que se utilizan en el mantenimiento del sistema de
archivos (altas, bajas, cambios, etc.).
Operaciones
Es cada una de las acciones especficas que se realizan para completar una
transaccin.



A
Elementos propios del archivo.
Atributos
Son marcas fsicas que determinan el tipo de operaciones y caractersticas de un
archivo.
Identificador de archivo
Es un elemento lgico que se crea en un ambiente de programacin para hacer
referencia al archivo de datos.
Apuntador de registro
Es una marca lgica que indica la posicin donde se realizara la siguiente operacin de
lectura o escritura en el archivo.
Nmero de registro
Son elementos lgicos que indican la posicin relativa del registro en el archivo.
Marca de fin de archivo(EOF)
Es una marca fsica que determina la finalizacin del archivo.
Marca de fin de lnea (EOL)
Es una marca fsica utilizada en los archivos de texto para indicar la finalizacin de
una lnea.

Operaciones con archivos de datos.
Creacin
Consiste en la asignacin de un espacio en el medio de almacenamiento mediante la
colocacin del nombre del archivo en el directorio.
Apertura
Es el establecimiento de un canal de comunicacin con un archivo determinado.
Cierre
Es la cancelacin de un canal de comunicacin previamente establecido con un
archivo. Incluye una verificacin al buffer para realizar un vaciado automtico de los
datos contenidos en el a travs del canal.
Asignacin
Es la asociacin de un nombre de archivo con un identificador valido en el lenguaje de
programacin en donde se esta manipulando.
Actualizacin
Son los procesos que modifican el contenido de la base de datos (altas, bajas, cambios).
Consulta.- Es el acceso a los datos para generar una salida por un medio determinado;
el acceso puede ser especifico, grupal o global.
Eliminacin
Es la eliminacin fsica del archivo en el medio de almacenamiento.
Renombrado
Es la modificacin del nombre del archivo en el mbito del sistema operativo.
Clasificacin
Consiste en la organizacin de los registros de acuerdo a un criterio determinado.

Mezcla
Es la combinacin de dos o mas archivos para dar como resultado un archivo nico.
Particin
Es la descomposicin de un archivo en dos o mas.
Importacin
Consiste en extender un archivo a partir de los datos contenidos en otro, ya sea que los
registros aadidos se supriman o no de este ultimo.
Exportacin
Es la generacin de un nuevo archivo o la extensin de uno ya existente a partir de los
datos contenidos en un archivo primario, ya sea que los datos exportados sean o no
suprimidos de este.

Introduccin a los archivos

Hasta ahora todos los datos que crebamos en nuestros programas solamente existan
durante la ejecucin de los mismos. Cuando salamos del programa, todo lo que habamos
generado se perda. A veces nos interesara que la vida de los datos fuera ms all que la de
los programas que los generaron. Es decir, que al salir de un programa los datos generados
quedaran guardados en algn lugar que permitiera su recuperacin desde el mismo u otros
programas. Por tanto, querramos que dichos datos fueran persistentes.

Para ello presentaremos conceptos bsicos sobre archivos. Adems, el uso de las bibliotecas
nos obligar a introducir algunos conceptos avanzados de programacin: las excepciones,
para tratar posibles errores durante la ejecucin de un programa, la manipulacin de datos a
bajo nivel, y para transformar nuestros datos a vectores de bytes.

Concepto de archivo
Los programas usan variables para almacenar informacin: los datos de entrada, los
resultados calculados y valores intermedios generados a lo largo del clculo. Toda esta
informacin es efmera: cuando acaba el programa, todo desaparece. Pero, para muchas
aplicaciones, es importante poder almacenar datos de manera permanente. Cuando se desea
guardar informacin ms all del tiempo de ejecucin de un programa, lo habitual es
organizar esa informacin en uno o varios ficheros almacenados en algn soporte de
almacenamiento persistente. Otras posibilidades como el uso de bases de datos utilizan
archivos como soporte para el almacenamiento de la informacin.

Concepto de archivo desde el ms bajo nivel
Desde el punto de vista de ms bajo nivel, podemos definir un archivo(o fichero) como:
Un conjunto de bits almacenados en un dispositivo y accesible a travs de un camino de
acceso(pathname) que lo identifica.
Es decir, un conjunto de 0s y 1s que reside fuera de la memoria del ordenador, ya sea en el
disco duro, un pendrive, un CD, entre otros. Esa versin de bajo nivel, si bien es
completamente cierta, desde el punto de vista de la programacin de aplicaciones, es
demasiado simple. Por ello definiremos varios criterios para distinguir diversas subcategoras
de archivos.

Estos tipos de archivos se diferenciarn desde el punto de vista de la programacin: cada uno
de ellos proporcionar diferentes funcionalidades (mtodos) para su manipulacin.

Clases de archivos
Sabemos que es diferente manipular Nmeros que Strings, aunque en el fondo ambos acaben
siendo bits en la memoria del ordenador. Por eso, cuando manipulamos archivos,
distinguiremos dos clases de archivos dependiendo del tipo de datos que contienen:

Los archivos de caracteres (o de texto)
Los archivos binarios

Archivos de texto

Un fichero de texto es aqul formado exclusivamente por caracteres y que, por tanto, puede
crearse y visualizarse usando un editor. Las operaciones de lectura y escritura trabajarn con
caracteres. Por ejemplo, los archivos con cdigo java son archivos de texto. En cambio un
archivo binario ya no est formado por caracteres sino que los bytes que contiene pueden
representar otras cosas como nmeros, imgenes, sonido, etc.

Archivo texto en Java

Las clases FileReader y FileWriter permiten leer y escribir, respectivamente, dentro de un
archivo texto.

Existen adems dos clases que manejan caracteres en lugar de bytes (lo que hace ms cmodo
su manejo), son FileWriter y FileReader. La construccin de objetos del tipo FileReader se
hace con un parmetro que puede ser un objeto File o un String que representarn a un
determinado archivo.

La construccin de objetos FileWriter se hace igual slo que se puede aadir un segundo
parmetro booleano que, en caso de valer true , indica que se abre el archivo para aadir
datos; en caso contrario se abrira para grabar desde cero (se borrara su contenido).

Para escribir se utiliza write que es un mtodo void que recibe como parmetro lo que se
desea escribir en formato int, String o en forma de array de caracteres


File(Opcional): Los objetos de esta clase no abren archivos ni nos proporcionan las
herramientas para procesarlos se utiliza para obtener informacin de un archivo o directorio
y permite crear eliminar archivos, si este existe podra crear uno nuevo sobre este.

Buffer

Un buffer es un espacio de memoria intermedia que acta de colchn de datos. Cuando se
necesita un dato del disco se trae a memoria ese dato y sus datos contiguos, de modo que la
siguiente vez que se necesite algo del disco la probabilidad de que est ya en memoria sea
muy alta.
Si usamos slo FileReader o FileWriter, cada vez que hagamos una lectura o escritura, se
har fsicamente en el disco duro. Si escribimos o leemos pocos caracteres cada vez, el proceso
se hace costoso y lento, con muchos accesos a disco duro.
Si vamos escribiendo, se guardar los datos hasta que tenga bastantes datos como
para hacer la escritura eficiente.
Si queremos leer, la clase leer muchos datos de golpe, aunque slo nos d los que
hayamos pedido. En las siguientes lecturas nos dar lo que tiene almacenado, hasta
que necesite leer otra vez.
Esta forma de trabajar hace los accesos a disco ms eficientes y el programa correr ms
rpido. La diferencia se notar ms cuanto mayor sea el fichero que queremos leer o escribir.

El concepto de buffering queda muy bien explicado en el siguiente prrafo extrado del
libro Head First Java:

Si no hubiera buffers, sera como comprar sin un carrito: debera llevar los productos
uno a uno hasta la caja. Los buffers te dan un lugar en el que dejar temporalmente las
cosas hasta que est lleno. Por ello has de hacer menos viajes cuando usas el carrito.
Adems, eso tambin permite operaciones de ms alto nivel, como la de leer una lnea
completa y devolverla en forma

BufferedWriter(Opcional): objeto que reserva un espacio en memoria donde se guarda la
informacin antes de ser escrita en un archivo.
PrintWriter(Opcional): Es el objeto que utilizamos para escribir directamente sobre el
archivo de texto.
FileWriter: es un objeto que tiene como funcin escribir datos en un archivo. Ejemplo, de
creacin de los objetos, tambin cerramos los streams:

FileWriter fw=new FileWriter("D:\\fichero1.txt");
FileReader fr=new FileReader("D:\\fichero1.txt");

Como vemos, escribimos la ruta del archivo. Si usas FileWriter y escribes una ruta de archivo
si esta no existe lo crea. Para FileReader s que debe existir el fichero, sino lanzara una
excepcin. Usamos doble barra (\\) porque es un carcter de escape, para poner \.

La mayor ventaja de los buffers es con el BufferedReader que nos permite leer una lnea
completa, en lugar de carcter a carcter como hacia FileReader, cuando el fichero termina,
devuelve null, no un -1 como en FileReader.

Con BufferedWriter tambin podemos aadir una lnea, como si pulsramos un Enter.

Uso FileWriter y FileReader


Nota: El final del archivo viene dado cuando la funcin read devuelve -1.


public class EscB {
public void Grabar(String nom)
{ try{
//Abro stream, crea el fichero si no existe
FileWriter fw=new FileWriter(nom);
fw.write("Esto es una prueba");
fw.close(); //Cierro el stream
FileReader fr=new FileReader(nom); //Abro el stream, el fichero debe existir
int valor=fr.read(); //Leemos el fichero y lo mostramos por pantalla
while(valor!=-1){
System.out.print((char)valor);
valor=fr.read();
}
fr.close(); //Cerramos el stream
}catch(IOException e){
System.out.println("Error E/S: "+e);
}
}
public static void main(String[] args) {
EscB obj = new EscB();
obj.Grabar("C:\\Users\\Lui\\Documents\\NetBeansProjects\\Escribir\\fichero1.txt");
}
}





















import java.io.*;
Uso BufferedWriter

public class PrinWrit {
public static void main(String[] args) {
try(
BufferedWriter bw=new BufferedWriter(new FileWriter("fichero01.txt"));){
//Escribimos en el fichero
bw.write("Esto es una prueba usando Buffered");
bw.newLine();
bw.write("Seguimos usando Buffered");
//Guardamos los cambios del fichero
bw.flush();
BufferedReader br=new BufferedReader(new FileReader("fichero01.txt"));
//Leemos el fichero y lo mostramos por pantalla
String linea=br.readLine();
while(linea!=null){
System.out.println(linea);
linea=br.readLine();
}
}catch(IOException e){
System.out.println("Error E/S: "+e);
}
}
}


Uso File






















Nota: El final del archivo viene dado cuando la funcin read devuelve -1.

Lo primero que tendremos que hacer ser crear un BufferedWriter. Esta clase nos ayuda a
manejar los stream en forma de buffer con mtodos muy sencillos. Este buffer necesitar
saber cul es el fichero. Esto se lo proporcionamos desde la clase FileWriter.



Grabado Datos Traductor



Traductor de Palabra




Buscar Palabras en un .txt

FileReader fr = new FileReader("ejemplo.txt");
BufferedReader br = new BufferedReader(fr);

Lees el contenido lnea a lnea. Cada lnea la conviertes en un arreglo de palabras partiendola
(split) por los espacios. Luego buscas en el arreglo si est la palabra que buscas.
String target = "string";
String str;
while ((str = bf.readLine())!=null) {
String[] tokens = str.split(" ");

for(int i = 0; i < tokens.Length; i = i+1)
{
if(tokens[i] === target)
{
//haces lo que quieras
}

}
}


Streams orientados a Carcter

Los Streams orientados a Carcter operan con caracteres como unidad de trabajo. Los
caracteres a leer estn formados por 2 bytes(es decir 16 bits por carcter).
Son utilizados para leer y escribir informacin que esta almacenada en forma de texto,
como por ejemplo archivos de extensin txt, ini, csv, etc.
La Superclase utilizada para leer streams orientados a carcter es la clase Reader. A partir
de esta clase - la cual es abstracta heredan todas las clases concretas que se utilizan para
leer informacin en forma textual.
Por otra parte, la Superclase utilizada para escribir streams orientados a carcter es la
clase Writer. A partir de esta clase - la cual es abstracta heredan todas las clases concretas
que se utilizan para escribir informacin en forma textual.

Streams orientados a Byte

Los Streams orientados a Byte operan con bytes como unidad de trabajo. Los bytes a leer se
leer en forma unitaria(es decir 8 bits por byte).
Son utilizados para leer y escribir informacin que esta almacenada en forma binaria,
como por ejemplo archivos de extensin jpeg, png, xls, etc.
La Superclase utilizada para leer streams orientados a byte es la clase InputStream. A
partir de esta clase - la cual es abstracta heredan todas las clases concretas que se utilizan
para leer informacin en forma binaria.
Por otra parte, la superclase utilizada para escribir streams orientados a byte es la clase
OutputStream. A partir de esta clase - la cual es abstracta heredan todas las clases concretas
que se utilizan para escribir informacin en forma binaria.

Hasta aqu llegan los temas que sern evaluados en el primer exades!!
Modos de acceso a un archivo
Existen dos modos bsicos de acceso a la informacin contenida en un archivo:
Secuencial
Acceso directo En el modo secuencial

la informacin del archivo es una secuencia de bytes (o caracteres), de manera que para
acceder al byte (o carcter) i-- simo se ha de haber accedido anteriormente a los i-- simo
menos 1 anteriores.

Un ejemplo de acceso secuencial sera la clase StringTokenizer. El modo de acceso directo
nos permite acceder directamente a la informacin del byte i--simo. Un ejemplo muy
conocido de acceso directo lo tenemos con los vectores (arrays).

Clases a estudiar
En el paquete java.io existen varias clases de las cuales podemos crear instancias de clases
para tratar todo tipo de ficheros.
En este curso slo vamos a tratar las dos principales:
FileOutputStream: Fichero de salida de texto. Representa ficheros de texto para
escritura a los que se accede de forma secuencial.
FileInputStream: Fichero de entrada de texto. Representa ficheros de texto de slo
lectura a los que se accede de forma secuencial.
Generalidades
Para tratar con un fichero siempre hay que actuar de la misma manera:
1. Se abre el archivo.
Para ello hay que crear un objeto de la clase correspondiente al tipo de fichero que vamos a
manejar, y el tipo de acceso que vamos a utilizar:
TipoDeFichero obj = new TipoDeFichero( ruta );
Donde ruta es la ruta de disco en que se encuentra el fichero o un descriptor de fichero vlido.
2. Se utiliza el fichero.
Para ello cada clase presenta diferentes mtodos de acceso para escribir o leer en el fichero.
3. Gestin de excepciones (opcional, pero recomendada)
Se puede observar que todos los mtodos que utilicen clases de este paquete deben tener en
su definicin una clusula throws IOException. Los mtodos de estas clases pueden lanzar
excepciones de esta clase (o sus hijos) en el transcurso de su ejecucin, y dichas excepciones
deben de ser capturadas y debidamente gestionadas para evitar problemas.
4. Se cierra el fichero y se destruye el objeto.
Para cerrar un fichero lo que hay que hacer es destruir el objeto. Esto se puede realizar de dos
formas, dejando que sea el recolector de basura de Java el que lo destruya cuando no lo
necesite (no se recomienda) o destruyendo el objeto explcitamente mediante el uso del
procedimiento close() del objeto: obj.close()
La clase FileOutputStream
Mediante los objetos de esta clase escribimos en ficheros de texto de forma secuencial.
Presenta el mtodo write() para la escritura en el fichero. Presenta varios formatos:
int write( int c ): Escribe el carcter en el fichero.
int write( byte a[ ] ): Escribe el contenido del vector en el fichero.
int write( byte a[ ], int off, int len ): Escribe len caracteres del vector a en el fichero,
comenzando desde la posicin off.
El siguiente ejemplo crea el fichero de texto "/carta.txt" a partir de un texto que se le
introduce por teclado:
Package Fileoutp;

import java.io.FileOutputStream;
import java.io.*;

/**
*
* @author Lea
*/
public class Fileoutp {

public static void main(String[] args) {
FileOutputStream fs = null;
byte[] buffer = new byte[81];
int nbytes;
try {
System.out.println("Escriba texto a grabar fichero");
nbytes = System.in.read(buffer);
// nbyes contiene el numero bytes capturados
// cada caracter capturado es un byte
// buffer es un vector de 81 byte
// read al final de captura agrega un final de linea
fs = new FileOutputStream("carta.txt", true);
fs.write(buffer, 0, nbytes);
System.out.println(nbytes);
} catch (IOException e) {
System.out.println("Error");
}
}
}

Otro ejemplo utilizando una ventana de captura, sera
Package archbytes
Import java.io.FileOutputStream;
import java.io.*;
import javax.swing.JOptionPane;

public class Archbytes {

public static void main(String[] args) {
FileOutputStream fs = null;
String pal=JOptionPane.showInputDialog("Teclee palabra");
try {
fs = new FileOutputStream("text.txt", true);
byte[] bytes =pal.getBytes();
fs.write(bytes, 0, bytes.length);
System.out.println(bytes.length);
} catch (IOException e) {
System.out.println("Error");
}
}
}

La clase FileInputStream
Mediante los objetos de esta clase leemos de ficheros de texto de forma secuencial.
Presenta el mtodo read() para la lectura del fichero. Este mtodo se puede invocar de varias
formas.
int read(): Devuelve el siguiente carcter del fichero.
int read( byte a[] ): Llena el vector a con los caracteres ledos del fichero. Devuelve la
longitud del vector que se ha llenado si se realiz con xito o 1 si no haba suficientes
caracteres en el fichero para llenar el vector.
int read( byte a[], int off, int len ): Lee len caracteres del fichero, insertndolos en el
vector a.
Todos ellos devuelven -1 si se ha llegado al final del fichero (momento de cerrarle).
El siguiente ejemplo muestra el fichero de texto "/carta.txt" en pantalla:
package leercarta;

import java.io.FileInputStream;
import java.io.*;

/**
*
* @author Nimitz
*/
public class LeerCarta {

public static void main(String args[]) {
FileInputStream fe = null;
byte[] buffer = new byte[81];
int nbytes;
try {
fe = new FileInputStream("carta.txt");
nbytes = fe.read(buffer, 0, 80);
String str = new String(buffer, 0, nbytes);
System.out.println(str);
} catch (IOException e) {
System.out.println("Error" + e.toString());
} finally {
try {
if (fe != null) {
fe.close();
}
} catch (IOException e) {
System.out.println("Error" + e.toString());
}
}
}
}

Introduccin a los Archivos de Acceso Secuencial.

Organizacin secuencial es la forma bsica de organizar un conjunto de registros, que forman
un archivo. En un archivo organizado secuencialmente, lo registros quedan grabados
consecutivamente cuando el archivo se utiliza como entrada. En la mayora de los casos, los
registros de un archivo secuencial quedan ordenados de acuerdo con el valor de algn campo
de cada registro. Semejante archivo se dice que es un archivo ordenado; el campo, o los
campos, cuyo valor se utiliza para determinar el ordenamiento es conocido como la llave del
ordenamiento. Un archivo puede ordenarse ascendente o descendentemente con base en su
llave de ordenamiento.
La forma ms comn de estructura de archivo es el archivo secuencial. En este tipo de archivo,
un formato fijo es usado para los registros. Todos los registros tienen el mismo tamao,
constan del mismo nmero de campos de tamao fijo en un orden particular. Como se
conocen la longitud y la posicin de cada campo, solamente los valores de los campos se
necesitan almacenarse; el nombre del campo y longitud de cada campo son atributos de la
estructura de archivos.
En estos archivos, la informacin slo puede leerse y escribirse empezando desde el principio
del archivo.
Un ARCHIVO de Acceso Secuencial es aquel donde los registros estn ubicados
consecutivamente sobre un dispositivo de almacenamiento. De tal forma que para acceder a
un registro determinado 'd' debemos pasar obligatoriamente por todos los registros que
le preceden.
Suponiendo una cinta magntica, para leer registro 'd' debemos pasar antes por el 'a', 'b', 'c'.



---------------------- Para leer el registro 'd', la cabeza
+- a b c d ... lectora, deber pasar antes por los
| ---------------------- que le preceden.
+> cabeza lectora.









Estructura de los archivos secuenciales

Las principales caractersticas de esta estructura son:
Independencia de las informaciones respecto de los programas.
La informacin almacenada es permanente.
Un archivo puede ser accedido por distintos programas en distintos momentos.
Gran capacidad de almacenamiento.
Una caracterstica de los archivos secuenciales es que todos los registros se almacenan por
posicin: de primer registro, segundo registro etc.
Los archivos secuenciales tienen algunas caractersticas que hay que tener en cuenta:

1. La escritura de nuevos datos siempre se hace al final del archivo.
2. Para leer un dato concreto del archivo hay que avanzar siempre hasta donde se
encuentre dicho dato. Si el dato requerido se encuentra antes del dato en que est se
est posicionado el archivo en un momento dado, ser necesario regresar al comienzo
del archivo y avanzar hasta el dato necesario.
Ventajas y desventajas.
Ventajas:
Los archivos secuenciales proveen la mejor utilizacin de espacio y son rpidos cuando los
registros son accesados secuencialmente. Los archivos con poca volatilidad, gran actividad y
tamao variable son altamente susceptibles de ser organizados secuencialmente. La ventaja
ms importante de la tcnica de organizacin secuencial de archivos es la capacidad de acceso
al "siguiente" registro rpidamente: Mientras que el patrn de acceso a un archivo secuencial
se conforme al ordenamiento de registros en el archivo, los tiempos de acceso sern muy
buenos. Sin embargo, si el patrn de acceso al programa no se conforma al patrn de
ordenamiento de los registros, entonces la eficiencia del programa puede ser terrible.
Otra ventaja de los archivos de organizacin secuencial es que son muy sencillos de usar y
aplicar.
Desventajas:
El acceso a un registro es pobre, la localizacin de un determinado registro no se puede hacer
individualmente, no de manera rpida y el acceso aleatorio es imprctico. Adems, en los
archivos secuenciales la direccin de registro est implcita y estn vulnerables a fallas del
sistema.
El archivo, a causa de inserciones y supresiones, tiene que ser reescrito peridicamente.
Archivos Secuenciales (Read, Write).

La manera bsica de organizar un conjunto de registros, que forman un archivo, es utilizando
una organizacin secuencial. En un archivo organizado secuencialmente, los registros quedan
grabados consecutivamente cuando el archivo se usa como entrada.

















Un archivo organizado secuencialmente es un conjunto de registros lgicamente relacionados
cuya secuencia de acceso est determinada por su ordenamiento. Los registros deben ser
grabados consecutivamente cuando el archivo es creado, y deben ser ledos de la misma
manera cuando es usado posteriormente como entrada.
Los requerimientos de proceso determinan el orden adecuado para los registros de un
archivo secuencial. Por ejemplo, para generar un directorio telefnico el archivo que contenga
tal informacin deber ordenarse con base al apellido y nombre de la persona, porque as se
necesita el reporte de los datos.
Sin embargo, si se requiere tener un directorio telefnico ordenado de acuerdo a la zona
postal o por su direccin, debern existir dos archivos, que podrn contener la misma
informacin pero ordenada de forma diferente, por lo que los sistemas de informacin que se
construyen utilizando esta organizacin, tienden a duplicar registros. Esto se podra tomar
como una desventaja de la organizacin de archivos secuenciales.
Los sistemas de informacin que se construyen utilizando archivos secuenciales tienden a
duplicar registros debido a los archivos que contienen los mismos registro pero en orden
diferente. Cuando se menciona que son los mismos registros, debemos entender que dos
archivos pueden contener un mismo registro pero es importante mencionar que no

necesariamente tienen que contener todos los registros iguales, ya que uno puede contener
solamente algunos registros extrados del otro.
Por lo regular no todos los archivos se conservan; muchos se consideran como temporales y
se borran despus de que se han utilizado como entrada al programa de aplicacin y la
informacin contendida se ha explotado para un propsito particular. Normalmente, stos se
generan a manera de reportes y cuando se imprimen, se desechan.
Almacenamiento de archivos Secuenciales.
Los archivos secuenciales pueden almacenarse en dispositivos de acceso serial o directo. Con
frecuencia los dispositivos de acceso serial son considerablemente menos caros que los
dispositivos de acceso directo en un sistema de cmputo, pero de hecho, los dispositivos de
almacenamiento de acceso directo en una computadora siempre proporcionan mayor
capacidad de almacenamiento y acceso ms rpido que los dispositivos de acceso serial.
Transacciones de archivos secuenciales.

Creacin de archivos secuenciales.
La creacin de un archivo secuencial se realiza agregando registros al final del archivo, no
importa el medio de entrada de datos. El archivo secuencial puede ser almacenado en cintas o
en discos magnticos. Un archivo secuencial puede tener registros fijos o variables, la
declaracin del archivo y la definicin del registro depender del lenguaje de programacin
que se vaya a usar.
Actualizacin de archivos secuenciales.
Un archivo maestro representa un panorama esttico de algn aspecto de una empresa. Sin
embargo muchos de los aspectos de dicha organizacin no son estticos, sino que
continuamente ocurren cambios internos y/o externos que afectan directa o indirectamente a
la empresa, como puede ser la contratacin de personal, despidos, los ajustes de precios, etc.
Para que un archivo pueda reflejar un estado actual lo ms confiable posible, nuestro archivo
debe ser actualizado.
Insertar un nuevo registro.
Borrar un registro.
Modificar un registro.
Al estar usando un archivo secuencial como archivo maestro, el realizar las operaciones de
actualizacin se llevara con el auxilio de un archivo de transacciones, debido a que se realizar
el proceso en lote para que sea ms eficiente.
Clasificacin de los archivos secuenciales.
Normalmente el uso de los archivos secuenciales se da en procesos en lote, donde se ha hecho
notar que son eficientes cuando se llevan a cabo diversas operaciones sobre una gran
cantidad de registros o de todo el archivo. Esta eficiencia se logra con una accin: la
clasificacin (ordenamiento), proceso que no es exclusivo de los archivos secuenciales, pero si
necesaria para diversas operaciones.
La clasificacin es el proceso de examinar los registros en un archivo y ponerlos en una
secuencia ascendente o descendente basada en el valor de uno o ms campos del registro.
Recuperacin de archivos secuenciales.
Como se menciono anteriormente la recuperacin de informacin de los archivos se da como
consulta (modo interactivo) o como la generacin de reporte (modo lote). Tambin se indico
la desventaja de acceder a un solo registro de un archivo secuencial.

Es ineficiente el uso de estos archivos para realizar la consulta de un registro, pero es ptimo
su uso para la generacin de un reporte de secuencia lgica en que se encuentra el archivo, el
reporte podr ser de varios tipos:
Selectivo.
Resumen y sumarizacin.
Clasificado por uno o ms campos.
Ejemplos de aplicacin

El uso ms comn para archivo secuenciales es para el procesamiento de lotes, tales como
respaldo de datos, generacin de reportes, transmisin fsica de datos, archivo de nomina, etc.

Das könnte Ihnen auch gefallen