Leer y guardar un archivo de texto en JAVA

La siguiente función devolverá un objeto del tipo StringBuilder con el contenido del archivo que le pasemos como parámetro.

Es importante el uso de la clase StringBuilder en este caso para almacenar gran cantidad de información en una variable de manera recursiva o con muchas concatenaciones ya que con la clase String, cada vez que añadamos una linea nueva a nuestra variable, se creará un nuevo objeto de tipo String con el contenido anterios más el contenido que hallamos añadido.

De esta manera utilizando la clase StringBuilder cada vez que se llama al método append(), nuestra cadena actual aumenta su tamaño añadiendo la representación como String del argumento a la cadena actual.
public static StringBuilder lector(String archivo) {
    StringBuilder sb = new StringBuilder();
    String linea;
    File f = new File(archivo);
    FileReader fr;
    BufferedReader br = null;

    try {
        try {
            fr = new FileReader(f);
            br = new BufferedReader(fr);

            while ((linea = br.readLine()) != null) {
                sb.append(linea);
                sb.append('\n');
            }
        } finally {
            if (br != null) {
                br.close();
            }
        }
    } catch (FileNotFoundException e) {
        System.out.println("Archivo no encontrado");
    } catch (IOException e) {
        System.out.println("Error entrada/salida");
    }

    return sb;
}
NOTA: Para utilizar esta función debes hacer los siguientes import:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

Comentarios

Publicar un comentario

Si tenéis alguna duda o sugerencia, no dudéis en comentar. ;)

Entradas populares de este blog

Autocompletado de codigo en Sublime Text

Compilar y ejecutar JAVA desde Notepad++

Compilar y ejecutar JAVA desde Sublime Text