You are on page 1of 4

El manejo de archivos y de texto

El manejo de archivos suele causar problemas a los principiantes, aunque nunca


entend por qu sucede esto. Desde el punto de vista de la programacin un
archivo no difiere en nada de los que utilizamos en un procesador de texto o en
cualquier otra aplicacin: simplemente lo abrimos, ejecutamos algn tipo de
operacin sobre l y luego lo volvemos a cerrar.
Sin embargo, la diferencia ms importante es que en un programa accedemos a
los archivos de manera secuencial, es decir, se lee una lnea por vez desde el
comienzo del archivo. En la prctica, un procesador de texto realiza la misma
operacin, slo que mantiene el archivo en la memoria mientras uno trabaja en l
y luego lo guarda en el disco una vez finalizada la edicin. Otra diferencia a tener
en cuenta es que podemos abrir un archivo para ser ledo o para ser escrito.
Podemos escribir en un archivo al crearlo de la nada (o sobre escribiendo uno ya
existente) o agregando informacin al final de un archivo preexistente a la
manera de un apndice.

Hola! me encuentro de regreso por un momento en Curiosidades, se acerca el


fin de la Sexta Unidad de Programacin Orientada a Objetos y desde hace
tiempo se me ocurri hacer una publicacin para darles ideas a mis
compaeros, eso fue en mi otro blog iSysCompany, pero por razones de la
nada fue cerrado y al parecer todo por mi culpa, pero aun asi volv a realizar 2
pequeas clases para mostrar a mis compaeros una idea de lo que tienen que
entregar para dicha Unidad mencionada.

La primera clase que muestro a continuacin se encarga de almacenar en un


archivo de texto alguna cosa que quieras, en mi caso es una variable que ya
tiene un valor, bien podria ser mas interactivo, ejemplo:
Que se pida el dato por consola
Que de opciones para guardar algunas cosas
Etc.
No se me ocurre nada, de eso se deben encargar ustedes compaeros, si estn
leyendo esta publicacin ms vale que comiencen a pensar en algo.

La segunda clase muestra como leer el contenido de un archivo de texto,


trabajar con el nombre del archivo de la clase anterior.

El objetivo de esta Unidad es utilizar clases para escribir sobre archivo [Binarios
o de texto] y usar accesos secuenciales o aleatorios para obtener el contenido
de los archivos [Binarios o de Texto].

A m se me facilito el uso de archivos de texto y por eso uso en los ejemplos las
clases:
File (Para crear el archivo)
FileWriter (Para escribir sobre el archivo)
FileReader (Para leer el archivo)
El metodo write de la clase FileWriter es el que se encarga de escribir sobre el
archivo de texto. Para no hacer largo esto, aqui estan las clases:

/*Clase que permite escribir en un archivo de texto*/

//Importamos clases que se usaran


import java.io.File;
import java.io.FileWriter;

public class Escribir


{
public static void main(String [], args)
{

//Un texto cualquiera guardado en una variable


String saludo="Hola";

try
{
//Crear un objeto File se encarga de crear o abrir acceso a un archivo que se
especifica en su constructor
File archivo=new File("texto.txt");

//Crear objeto FileWriter que sera el que nos ayude a escribir sobre archivo
FileWriter escribir=new FileWriter(archivo,true);

//Escribimos en el archivo con el metodo write


escribir.write(saludo);

//Cerramos la conexion
escribir.close();
}

//Si existe un problema al escribir cae aqui


catch(Exception e)
{
System.out.println("Error al escribir");
}
}
}

/*Clase que permite leer un archivo de texto*/

//Importamos clases a usar


import java.io.FileReader;
import java.io.BufferedReader;
public class Leer
{
public static void main(String arg[])
{
//Creamos un String que va a contener todo el texto del archivo
String texto="";

try
{
//Creamos un archivo FileReader que obtiene lo que tenga el archivo
FileReader lector=new FileReader("texto.txt");

//El contenido de lector se guarda en un BufferedReader


BufferedReader contenido=new BufferedReader(lector);

//Con el siguiente ciclo extraemos todo el contenido del objeto "contenido" y lo


mostramos
while((texto=contenido.readLine())!=null)
{
System.out.println(texto);
}
}

//Si se causa un error al leer cae aqui


catch(Exception e)
{
System.out.println("Error al leer");
}
}
}

You might also like