Вы находитесь на странице: 1из 3

Informe sobre el manejo de archivos

Julio Flores 9-728-2148

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 nombre de archivo:");
try {
FileReader arch1 = new FileReader(archivoName);
BufferedReader in = new BufferedReader(arch1);
String s = new String();

while((s = in.readLine())!= null) //lectura del archivo


System.out.println("\nRegistro: "+ 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

R/ En la ejecución de este programa pude observar la forma de cómo se abre un y


se lee un archivo de texto utilizando las clases FileReader, BufferedReader y
leyendo cada línea del archivo utilizando el método readLine. Se pide el nombre
del archivo que se desea abrir y luego le pasan el nombre a la clase FileReader y
lo toma un objeto de dicha clase, luego ese objeto se pasa a la clase
BufferedReader y lo toma un objeto de esa clase para poder utilizar su método
readLine y leer cada línea del archivo de texto.

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.*;
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
try{
file = new File("dato.txt");
freader = new FileReader(file);
lnreader = new LineNumberReader(freader);
String line = "";
while ((line = lnreader.readLine()) != null){
System.out.println("Linea" + lnreader.getLineNumber() + ": " + line);
}
}
finally{ // cuando termina el try se realize finally
freader.close();
lnreader.close();
}
}
}
R/ En la ejecución de este programa también se abre un archivo, pero la diferencia
con el anterior programa es que el nombre del archivo no se le pide al usuario ,
sino que esta estático en el programa.

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.
import java.io.*;
// No usa Buffered Reader para leer
public class LeeconRead {
public static void main(String[] args) throws IOException {
File inputFile = new File("dato.txt"); //archivo de entrada
File outputFile = new File("datos1.txt"); //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("\n Archivo:\n "+ c);
}
in.close();
out.close();
}
}

R/ En la ejecución de este programa se lee y a la vez se copia en otro archivo de


texto con el mismo contenido del archivo original, debido a que no se usa
BufferedReader la lectura del archivo se da por carácter y en la consola se
presenta o despliega cada carácter en números enteros del archivo leído.
Utilizando la clase BufferedReader también se puede copiar el archivo utilizando el
método PrintWrite.

4- Experimenta con el siguiente ejemplo, identifica clases, objetos y métodos.


Determina para qué sirve el siguiente programa.

import java.io.FileReader;

public class LeeconRead {


/* Este programa sirve para: */

public static void main(String args[]) {


try {
FileReader fr = new FileReader(“su.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("Exception: " + e);


}
} // fin del main()
} // fin de la clase

R/ En la ejecución de este programa se lee y se imprime un archivo de texto y se


despliega en la consola por carácter pero no en números enteros como el
programa anterior, se presenta en caracteres comprensibles para las personas.

Se utiliza el objeto fr de la clase FileReader para leer el archivo de texto de este


programa.

Вам также может понравиться