Professional Documents
Culture Documents
Licenciatura de Ingeniería en
Informática
Programación III
Laboratorio #5
Pertenece a:
Norberto Delgado
9-731-110
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 );
i=i+1;
}
try {
in.close();
}
catch ( IOException e )
{
System.err.println( "El archivo no se
pudo cerrar correctamente" );
System.exit( 1 );
}
} //fin main
} // fin de la clase LeeconReader
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();
}
}
}
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.*;
// 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