Sunteți pe pagina 1din 7

Republica de Panamá

Centro Regional Universitario de


Veraguas

Licenciatura de Ingeniería en
Informática

Programación III

Laboratorio #5: Archivos

Profesor: Diego Santimateo

Integrante:
Fernando Villarreal
6-711-1562

Semestre: II

Año Lectivo: 2008


Introducción

En este laboratorio trabajaremos lo que son los archivos.


Los programas pueden leer datos de los archivos del sistema, así como escribir en ellos.
Java aporta en su paquete java.io varias clases para estas tareas:

File ficheros, tanto directorios como ficheros finales


Reader lectura de caracteres.
Writer escritura de caracteres.
InputStream lectura de bytes.
OutputStream escritura de bytes.

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.
Procedimiento

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.*;
public class LeeconReader
{
public static void main(String[] args)
{
String archivoName;
archivoName=JOptionPane.showInputDialog(null,"Indique el nombre del archivo:");
try
{
FileReader arch1 = new FileReader(archivoName);
BufferedReader in = new BufferedReader(arch1);
String s =new String();
while((s=in.readLine())!= null)
System.out.println("\nRegistro:"+s);
try {
in.close();
}
catch(IOException e )
{
System.err.println("\nEl archivo no se pudo cerrar correctamente" );
System.exit( 1 );
}
System.exit(0);
}
catch(Exception e)
{
System.err.println("\nError al leer o abrir el archivo\n"+e);
}
}
}

RESP: Se leen los archivos y a la vez se imprime en pantalla todo su contenido.


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.

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;
String archivoName;
archivoName=JOptionPane.showInputDialog(null,"Indique el nombre del archivo:");
try
{
file =new File(archivoName);
freader=new FileReader(file);
lnreader = new LineNumberReader(freader);
String line = "";
while((line=lnreader.readLine())!= null)
{
System.out.println("Linea"+lnreader.getLineNumber()+":"+line);
}
}
catch(Exception e)
{
System.err.println("\nError al leer o abrir el archivo\n"+e);
}
finally
{
freader.close();
lnreader.close();
}
}
}

RESP: Al leer los archivos cada línea del mismo esta acompañado por el numero que
ocupa esa línea en el archivo.
3- Con 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.*;
public class LeeconRead
{
public static void main(String[] args) throws IOException
{
String archivoentrada;
String archivosalida;
archivoentrada=JOptionPane.showInputDialog(null,"Indique el nombre del archivo de
entrada:");
archivosalida=JOptionPane.showInputDialog(null,"Indique el nombre del archivo de
salida:");
try
{
File inputFile=new File(archivoentrada);
File outputFile=new File(archivosalida);
FileReader in=new FileReader(inputFile);
FileWriter out = new FileWriter(outputFile);
int c;
while((c=in.read())!=-1)
{
out.write(c);
System.out.println("\nArchivo:"+ c);
}
in.close();
out.close();
}
catch(Exception e)
{
System.err.println("\nError al leer o abrir el archivo\n"+e);
}
}
}

RESP: El contenido del archivo es una copia exacta del original.


No se puede usar la clase BufferedReader ya que esta toma un flujo de datos como
consecuencia de una lectura del teclado mientras que los archivos son conjuntos de
flujos de datos por lo cual no los puede tomar todos.

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 MiArchivo
{
public static void main(String args[])
{
String archivoentrada;
archivoentrada=JOptionPane.showInputDialog(null,"Indique el nombre del archivo:");
try
{
FileReader fr = new FileReader(archivoentrada);
int i;
while((i=fr.read())!=-1)
{
char c=(char)i;
System.out.print("\ncaracter ="+ c);
}
fr.close();
}
catch (Exception e)
{
System.out.println("Error al leer o abrir el archivo: " + 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.
Conclusión

En este laboratorio aprendimos a manejar los archivos desde nuestro código en java.
Es importante señalar que java cuanta con clases y métodos que nos permiten realizar
muchas operaciones con estos archivos, aparte de su vital importancia ya que nos
permiten tomar los datos de ellos las veces que ejecutemos el programa y no solo uno,
podemos abrir cualquier archivo en un momento determinado y mucho más rápido que
leer los datos del teclado, allí su vital importancia, aparte de que los archivos pueden
guardar bastante información de las cuales podemos acceder sin mayor dificultad.

S-ar putea să vă placă și