Republica de Panamá Centro Regional Universitario de Veraguas Licenciatura de Ingeniería en Informática Programación III Laboratorio #5 Tema: Introducción a los

Archivos Pertenece a: Norberto Delgado 9-731-110 Profesor: Diego Santimateo II Semestre del año 2008

Introducción Este trabajo consiste en la implementación y manejamiento de los archivo de lo que es la apertura de un archivo y su inmediata lectura, de lo que es la escritura en archivos, la creación de un nuevo archivo en base de uno existente. Java puede almacenar y leer diferentes tipos de información de archivos tales como: binarios, objetos java, texto, comprimidos, etc. En esta clase nos ocuparemos de los archivo de texto y orientaremos las operaciones de lectura y grabación de registros o líneas, de manera similar a como tratamos los objetos de entrada y salida por defecto, eso significa que usaremos las mismas clases para manejar archivos. Java nos ofrece la clase FILE que permite crear instancias asociadas con el nombre de un archivo, no con su contenido, pero que facilita el manejo de directorios y de archivos en los subdirectorios, cambiar nombres, verificar existencia de archivos, etc.

1- Compruebe la lectura de un archivo de texto leyendo cada línea de su contenido y desplegándola en la consola, usando la siguiente codificación. Prepare tres archivos de texto, uno que corresponda a un programa Java previamente utilizado, otro de un documento HTML (copie el ejemplo de: http://www.programacion.com/html/tutorial/curso/3/ y guárdelo en la misma carpeta que contiene su programa Java, con la extensión .html) y otro creado con el bloc de notas. import java.io.*; import javax.swing.*; //para usar las ventanitas public class LeeconReader { public static void main(String[] args) { String archivoName; archivoName = JOptionPane.showInputDialog(null, "Indique nombre de archivo:"); try { FileReader arch1 = new FileReader(archivoName); // para poder leer BufferedReader in = new BufferedReader(arch1); // para poder leer por linea String s = new String(); int i=1; while((s = in.readLine())!= null) //lectura del archivo { System.out.println("\nRegistro " +i +":" + s );

} try { in.close(); } catch ( IOException e ) { System.err.println( "El archivo no se pudo cerrar correctamente" ); System.exit( 1 ); } System.exit(0); //cierra hilo abierto por ventana de diálogo } catch (Exception e) { System.err.println("***Error al leer o abrir el archivo...\n" +e); } } //fin main } // fin de la clase LeeconReader

i=i+1;

2- En el siguiente ejemplo se utiliza la subclase LineNumberReader de la clase BufferedReader en consecuencia, también contiene el método readLine(). Con esta clase se puede llevar el control del número de línea que se está leyendo o procesando. Revise cuidadosamente y pruebe el programa con los archivos utilizados en el ejemplo anterior. /* Ejemplo de programa que lee un archivo secuencial con el método readLine de la clase BufferedReader*/ import java.io.*; import javax.swing.*; public class LeeNumeroRegistro { public static void main(String[] args)throws Exception { File file = null; FileReader freader=null; LineNumberReader lnreader = null; //tiene el método readLine

String archivo; archivo=JOptionPane.showInputDialog(null,"Iintroduz ca el nombre se su archivo:"); try { file =new File(archivo); freader=new FileReader(file); lnreader = new LineNumberReader(freader); String line = ""; while((line=lnreader.readLine())!= null) { System.out.println("Linea"+lnreader.getLineNu mber()+":"+line); } } catch(Exception e) { System.out.println("Este archivo tiene un problema para ser leído \n: " + e); } finally{ // cuando termina el try se realize finally { freader.close(); lnreader.close(); } } }

3Con el próximo ejemplo se copia un archivo, pero la lectura se realiza sin usar BufferedReader, solo FileReader y el método read. Se crea un nuevo archivo datos1.txt. Verifica su contenido y comenta. ¿Puedes copiar el mismo archivo usando BufferedReader? Intenta grabar usando la clase FileWriter y PrintWriter con el método println, de manera similar a como se usa FileReader, BufferedReader y readline. No olvides comentar. Conviene mostrar resultados al facilitador. import java.io.*; import javax.swing.*; // No usa Buffered Reader para leer public class LeeconRead { public static void main(String[] args) throws IOException { String archivo1;

String archivo2; Archivo1=JOptionPane.showInputDialog(null,"Indique el nombre de su primer archivo:"); Archivo2=JOptionPane.showInputDialog(null,"Indique el nombre de su segundo archivo:"); try { File inputFile = new File(archivo1); //archivo de entrada File outputFile = new File(archivo2) //archivo de salida FileReader in=new FileReader(inputFile); FileWriter out = new FileWriter(outputFile); int c; while ((c = in.read()) != -1) //método de FileReader { out.write(c); System.out.println("\nArchivo:"+ c); } in.close(); out.close(); } catch(Exception e) { System.out.println("Este archivo tiene un problema para ser leído \n: " + e); } } }

4- Experimenta con el siguiente ejemplo, identifica clases, objetos y métodos. Determina para qué sirve el siguiente programa y expresa los resultados de tu experiencia en el foro. ¿Qué cosas descubriste? import javax.swing.*; import java.io.FileReader; public class LeeconRead

{ public static void main(String args[]) { String archivo; archivo=JOptionPane.showInputDialog(null,"introd uzca el nombre de su archivo:"); try { FileReader fr = new FileReader(archivo); int i; while((i=fr.read())!=-1) { char c=(char)i; System.out.print("\ncaracter ="+ c); } fr.close(); } catch (Exception e) { System.out.println("Este archivo tiene un problema para ser leído \n: " + e); } } }

RESP: Entre las clases tenemos la principal con la cual empezamos a ejecutar el código y es MiArchivo, otra clase es FileReader con la cual leemos del archivo. El objeto creado es fr y el método es read. Este programa determina las posiciones o mas bien muestra en consola las posiciones de los caracteres que se encuentran en el archivo. Muestra la lectura de las posiciones de los valores en el archivo

Conclusión En este trabajo comprendí mejor y aprendí lo que es el manejo de archivo utilizando java. Lo que son los archivo en java nos permiten un basto uso de ellos en diferentes posibles situaciones en la que nos encontremos la necesidad de trabajar con archivos ya que además de tener diferentes formas de manejar dichos archivos en java, permite el manejo de su contenido de manera eficaz y practica además de fácil, ya que lo que son los archivos en la programación es de básica importancia debido a que estos nos permiten lo que es un mayor porcentaje de contenido, mayor que en otros tipos de posibles lugares donde se pueden guardar información o datos.

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.