Archivos Secuenciales

Manejo de Archivos Secuenciales en Java Para el manejo de Archivos secuenciales de objetos en Java es necesario: - Impo

Views 104 Downloads 4 File size 122KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Manejo de Archivos Secuenciales en Java Para el manejo de Archivos secuenciales de objetos en Java es necesario: -

Importar una serie de clases del paquete java.io, por lo que antes de la definición de la clase programa será necesario incluir la importación de dichas clases: import java.io.* ;

-

El método main, y cualquier otro método que maneje algún archivo en un programa, lanza la excepción en caso de producirse algún error en el manejo de dichos Archivos, para lo cual será necesario especificarlo en la cabecera de dicho método: public static void main (String[] args) throws Exception

Creación de un archivo secuencial en Java 1. Crear un objeto de la clase FileOutputStream asociado al nombre del archivo físico: FileOutputStream Nom_Interno = new FileOutputStream("NomDelArchivo.DAT"); 2. Para escribir en el archivo cada uno de sus componentes que son objetos de una clase concreta deberemos utilizar: Nom_Interno.write(bytes); 3. Al finalizar el proceso de creación se debe cerrar el archivo: Nom_Interno.close(); Mediante el método de la clase FileOutputStream escribimos en archivos de texto de forma secuencial. Presenta el método write() para la escritura en el archivo. Presenta varios formatos:

int write( int C): Escribe el carácter en el archivo. int write( byte A[] ): Escribe el contenido del vector A(bytes) en el archivo.

int write( byte A[], int Off, int N ): Escribe el vector A (bytes) con una longitud de N caracteres, comenzando desde la posición Off. int.- indica el retorno de un valor entero

Esquema de cómo Crear un Archivo en Java { Crear un objeto de la clase FileOutputStream asociado al nombre del archivo físico. FileOutputStream Nom_Interno = new FileOutputStream("NomFisicoArchivo.DAT",true); // True .para que agregue registros // False para que lo cree de nuevo Hacer { Solicitar los datos Introducir los datos Construir el Objeto con los datos Escribir el objeto en el archivo Nom_Interno.write (byte); Preguntar si hay más datos y responder } Mientras (Hay mas datos)

}

Cerrar el archivo Nom_Interno.close();

Lectura de un archivo secuencial en Java 1. Crear un objeto de la clase FileInputStream asociado al nombre del archivo fisico: FileInputStream Nom_Interno = new FileInputStream("NomFisicoArchivo.DAT"); 2. Para leer en el archivo cada uno de sus componentes de una clase concreta deberemos utilizar: Nom_Interno.read(bytes); 3. Al finalizar el proceso de creación se debe cerrar el archivo: Nom_Interno.close();

FileInputStream

Presenta el método read() para la lectura del archivo. Este método se puede invocar de varias formas. int read(): Devuelve el siguiente carácter del archivo. int read( byte A[] ): Llena el vector a con los caracteres leídos del archivo. Devuelve la longitud del vector que se ha llenado si se realizó con éxito o –1 si no había suficientes caracteres en el archivo para llenar el vector. int read( byte A[], int Off, int N ): Lee N caracteres del archivo, insertándolos en el vector A. Todos ellos devuelven -1 si se ha llegado al final del archivo (momento de cerrarle).

Esquema básico de Lectura de un Archivo:

Crear un objeto de la clase FileInputStream asociado al nombre del archivo físico. Crear un instancias del objeto de la clase ObjectInputStream asociado al objeto anterior, es decir al archivo físico. Leer la primera línea conjunta de bytes del archivo Mientras no es el fin del archivo hacer Tratamiento de los bytes en curso ... Leer los siguiente bytes del archivo fin_Mientras Cerrar el archivo

Esquema de como Leer un archivo en Java

Crear un objeto de la clase FileInputStream asociado al nombre del archivo físico. FileInputStream Nom_Interno =new FileInputStream("NomFisicoArchivo.DAT"); Leer el primer conjunto de bytes del archivo Nom_Interno.read (); Mientras no es el fin del archivo hacer While (Nom_Interno != null) { Tratamiento del los bytes en curso ... Leer el siguiente conjuntos bytes del archivo Nom_Interno.read();

} fin_Mientras

Cerrar el archivo Nom_Interno.close();

Lectura de un archivo texto en Java Hay múltiples maneras de leer archivo línea por línea en Java

opción: FileReader Clase que nos permite realizar lecturas de archivos de texto. El FileReader ... es una clase de conveniencia para la lectura de archivos de carácter... FileReader es para la lectura de flujos de caracteres. Para la lectura de las corrientes de bytes BASH(1

BufferedReader Los programas de java realizan su entrada y salida a través de flujos. Podemos decir que flujo es una abstracción que produce y consume información. Todos los flujos se comportan de la misma manera, aunque sean dispositivos. BufferedReader: Es una clase del paquete java.io que permite manejar el flujo de caracteres de entrada almacenado en memoria (búfer). Con esta clase podemos leer u obtener los datos introducidos mediante el teclado y también los datos que se encuentren en la primera línea de un archivo. Es decir que si queremos utilizar un método para escribir en consola también lo podemos emplear para escribir en un archivo en el disco. BufferedReader Lee una línea de texto hasta que encuentra un carácter de salto de línea (\n) y retorno de carro (\r). BufferedReader proporciona un método readLine que convierte cada línea de entrada en un String, y simplifica enormemente el proceso de archivo de lectura La clase BufferedReader se utiliza para leer datos de la corriente de entrada de cada carácter, matriz o líneas de manera eficiente. BufferedReader (Reader) - Este constructor está utilizando el tamaño de búfer predeterminado.

La clase BufferedReader utiliza el tamaño de búfer predeterminado de 8.192 caracteres para la lectura de los datos en el buffer. BufferedReader (Reader, int sz) - Aquí segundo argumento tiene el tamaño del búfer como parámetro. Aquí está el ejemplo del uso de la clase BufferedReader: BufferedReader = New BufferedReader (nuevo FileReader ("miarchvo.txt")); Si no se utiliza el almacenamiento en búfer, entonces el rendimiento de las aplicaciones será lento.

Debido a que el comportamiento, es muy común para escribir un bucle while que itera sobre un BufferedReader como se muestra en el ejemplo anterior, y de nuevo aquí: while ((line = BufferedReader.readLine ())! = null) Una vez más, el método readLine BufferedReader bien devuelve una cadena o una referencia nula, y es un método útil de gran uso en la lectura de entrada de texto como este.