Código JAVA: Leer archivos de texto

En esta nueva entrada, veremos la aplicación de un método en el lenguaje de programación JAVA, cuya función es leer archivos de texto desde nuestra aplicación y mostrar su contenido.

public void leerarchivo(String ruta){
       
        BufferedReader buffer = null;

        try{

            buffer = new BufferedReader(new InputStreamReader(new FileInputStream(ruta), "ISO-8859-1"));

            boolean lecturanula = false;

            while(!lecturanula){

                try{

                    String linea = buffer.readLine();

                    if(linea == null){

                        lecturanula = true;
                        System.out.println("terminó lectura");

                    }else{
 

                          System.out.println(linea);

                    }

                }catch(IOException ex){

                    System.out.println(ex);

                }

            }

        }catch(UnsupportedEncodingException ex){

            System.out.println("Error de codificación: "+ex);

        }catch(FileNotFoundException ex) {
               
            System.out.println("Error con la ubicación y/o existencia del archivo: "+ex);

        }finally{

            try{

                buffer.close();

            }catch(IOException ex) {

                System.out.println("Error al intentar cerrar el Buffer: "+ex);

            }

        }
       
}

Si deseas ver la explicación de cada línea de código del presente método, puedes dirigirte a: http://codigosparadesarrolladores.blogspot.com/2014/06/codigo-java-leer-...

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Este ejemplo tiene la

Este ejemplo tiene la desventaja de leer linea por linea de de cambiar el contenido original del archivo ( si el separador de linea es diferente al del sistema donde corre, \n vs \r\n )

Si se lee en un buffer hasta encontrar fin de archivo el desempeño mejora considerablemente.

Acá hay más ejemplos

http://stackoverflow.com/questions/326390/how-to-create-a-java-string-fr...

Listo estimado OscarRyz

Listo estimado OscarRyz, lo tendré presente, la idea siempre es optimizar nuestro código. :)

Imagen de ezamudio

try-with-resources

Además a partir de Java 7 ya tenemos el try with resources que ayuda a evitar fugas de recursos (dejar streams y conexiones abiertas cuando ocurren excepciones). Es muy recomendable usarlos y te ahorras un poquito de código:

try (BufferedReader buffer = new BufferedReader(bla)) {
} catch (bla) {
}

En tu caso, haciendo esto ya sobra el finally porque lo único que hacías era cerrar el buffer, y eso se hará de manera implícita por usar este estilo de try.

Excelente aporte

Excelente aporte estimado ezamudio, sinceramente no tenía conocimiento de esta funcionalidad, hay cosas que se nos escapan; por eso es bueno contar con una comunidad como Java México :)