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.
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-...
- EDBAST's blog
- Inicie sesión o regístrese para enviar comentarios
Comentarios
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. :)
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:
} 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 detry
.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 :)