Leer archivo de texto linea por linea en Java

Este ejemplo no es para nada complicado, es una simple clase que lee un archivo de texto (.txt) y lo lee línea por línea, esto evita subir todo el contenido del archivo a memoria, si es muy grande el mismo es imposible hacerlo.

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class readText {

/**
* @param args
*/
public static void main(String[] args) {
File f = new File( "C:texto.txt" );
BufferedReader entrada;
try {
entrada = new BufferedReader( new FileReader( f ) );
String linea;
while(entrada.ready()){
linea = entrada.readLine();
System.out.println(linea);
}
}catch (IOException e) {
e.printStackTrace();
}

}
}

14 Comentarios de “Leer archivo de texto linea por linea en Java”

  1. meriano

    finally
    {
    try{
    entrada.close();
    }catch(IOException e1){}
    }

    :sonrisa: :sonrisa: :sonrisa: :sonrisa:

  2. Agu

    ¿como hago para hacer cuentas con los elementos del archivo? Ahi los guarda como Strings, los necesito como Int
    slds!

  3. Agu

    Disculpen, pero al hacer cuentas me referia a hacer operaciones matematicas.
    Les hago otra consulta ¿Como hago para imprimir en un Text Field todo el contenido de un archivo de texto?
    slds!

  4. Hijo de la Red

    Hola Agu! para poder hacer operaciones matematicas con los que extraigas del archivo de texto lo unico que tienes que hacer es transformar ese valor String a Integer, ojo! tiene que ser un número:

    try {
    Integer numero = Integer.valueOf(linea);
    numero = numero + 15;
    }catch (Exception e) {
    e.printStackTrace();
    }

    Con eso tiene que funcionar.

    Con respecto a tu segundo comentario con esta linea se soluciona:

    tf = new TextField(linea, 30);

    Verás que en el constructor del TextField le paso el valor predeterminado y el ancho del mismo, si quieres poner todo un archivo de texto dentro del TextField el ancho debe ser mucho mayor. Saludos

  5. Ana

    como hago para meter la linea que me leyo en el archivo en un arreglo pro letra por letra es decir q en cada casilla dl arreglo almacene una letra.
    por último que pasa si no cierro un archivo?

  6. Meli

    Muchas gracias, me sirvió mucho, excelente aporte!!!

  7. Drachma

    Hola amigo que tal!!!!

    Oye me podrias decir:
    En la parte del “C:texto.txt”, como puedo meterle el texto si es que no estoy en Windows?

    Podrias dar un ejemplo.
    Muchas Gracias men

    • Hijo de la Red

      Hola! No comprendo bien lo de estar en Windows, ¿Te refieres a ejecutar este código en otro sistema operativo? Supongo que si fuera en GNU/Linux por ejemplo sería algo como “root/home/texto.txt” o simplemente “text.txt” para siempre y cuando el archivo de texto esté en la misma hubicación de la clase. Saludos.

    • Alexander

      Muy buen ejemplo de lectura de archivos :oooh: ; con respecto a la pregunta como hacer para leer el archivo.txt, este es mi primer aporte con respecto a Programacion, asi que espero poder contribuir. :nerd:
      Al usar culaquier IDE, todos dan la opcion de crear un proyecto nuevo, en esta opcion tu puedes hacer que los componentes a utilizar en tu proyecto sean almacenados en carpetas exclusivas del proyecto, por ejemplo Netbeans, crea unas carpetas por ejemplo, src,test, nbproject.
      Estas carpetas la encontraras donde guardaste el proyecto.

      Junto a ellas puedes create una carpeta donde puedas guardar cualquier tipo de extencio, en la misma puedes guardar el archivo a leer y mandarlo a llamar por ejemplo;
      File f = new File( “Datcodigo.txt” );
      Donde Dat= carpeta creda por mi, dentro de mi proyecto.
      codigo.txt= archivo para leer.
      Y con esto puedo concluir que se cumple el pricipio de multiplataforma, no importa en que S.O estes.
      :sonrisa: :sonrisa:

  8. jesus

    hola muy bueno la explicacion pero vi en un comentario que pedian lo de mostrar todo el txt pero donde va esto “tf = new setText(linea, 30);”
    yo utilizo el netbeans y dentro de un boton al presionarlo abre el texto pero solo aparece la ultima linea… gracias

  9. roberto

    hola quisiera saber como se sera en el caso de guardar en un archivo txt cadenas de caracteres pero q sean muy largos me explico por ejemplo un contrato de tres paginas. espero pronta respuesta

  10. Hijo de la Red

    Hola Ana! con respecto a tu primera pregunta, la solución la puedes ver en este link http://espanol.answers.yahoo.com/question/index?qid=20080413163544AAhKNo2 y con respecto a tu segunda pregunta sobre que pasa si no cerras el archivo, puede ser que no pase nada si se trata de un archivo chiquito pero con archivos grandes o cuando manejas muchos archivos los datos de esos archivos quedan en la memoria de la maquina al cerrar el archivo lo que hacemos es liberar la memoria para un mejor funcionamiento. Saludos!