¿Cómo leer un archivo en Java?
Java proporciona varios mecanismos para leer archivos. El paquete más útil que se proporciona para esto es java.io.Reader. Esta clase contiene la clase Java BufferedReader en el paquete java.io.BufferedReader
¿Qué es BufferedReader en Java?
BufferedReader es una clase de Java para leer el texto de un flujo de entrada (como un archivo) almacenando caracteres en búfer que lee perfectamente caracteres, matrices o líneas. En general, cada solicitud de lectura realizada por un lector provoca que se realice una solicitud de lectura correspondiente del carácter subyacente o flujo de bytes.
Por lo tanto, es aconsejable envolver BufferedReader en Java alrededor de cualquier Reader cuyas operaciones read () puedan ser costosas, como Java FileReaders y InputStreamReaders. Un uso típico implicaría pasar la ruta del archivo al BufferedReader en Java de la siguiente manera:
objReader = new BufferedReader(new FileReader("D:\DukesDiary.txt"));//Assuming you have a text file in D drive
Básicamente, esto carga su archivo en objReader. Ahora, deberá iterar a través del contenido del archivo e imprimirlo.
El ciclo while en el siguiente código leerá el archivo hasta que llegue al final del archivo.
while ((strCurrentLine = objReader.readLine()) != null) {System.out.println(strCurrentLine);}
strCurrentLine lee la línea actual y la función readLine de Java objReader.readLine () devuelve una cadena. Por lo tanto, el ciclo se repetirá hasta que no sea nulo.
Ejemplo de BufferedReader:
El siguiente código es un ejemplo de Java BufferedReader que muestra la implementación completa:
import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;public class ReadFileExample {public static void main(String[] args) {BufferedReader objReader = null;try {String strCurrentLine;objReader = new BufferedReader(new FileReader("D:\\DukesDiary.txt"));while ((strCurrentLine = objReader.readLine()) != null) {System.out.println(strCurrentLine);}} catch (IOException e) {e.printStackTrace();} finally {try {if (objReader != null)objReader.close();} catch (IOException ex) {ex.printStackTrace();}}}}
Nota:
El código anterior tiene algunos manejos muy importantes, especialmente en el bloque final del código.
Este código asegurará que la administración de la memoria se realice de manera eficiente y se llame al método objReader.close () que libera la memoria.
Ejemplo de BufferedReader JDK7:
A continuación se muestra el ejemplo de archivos de lectura de Java utilizando la clase BufferedReader
import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;public class ReadFileExample_jdk7 {private static final String FILENAME = "D:\\DukesDiary.txt";public static void main(String[] args) {try (BufferedReader br = new BufferedReader(new FileReader(FILENAME))) {String strCurrentLine;while ((strCurrentLine = br.readLine()) != null) {System.out.println(strCurrentLine);}} catch (IOException e) {e.printStackTrace();}}}