Come leggere un file in Java?
Java fornisce diversi meccanismi per leggere da File. Il pacchetto più utile fornito per questo è java.io.Reader. Questa classe contiene la classe Java BufferedReader nel pacchetto java.io.BufferedReader
Cos'è BufferedReader in Java?
BufferedReader è una classe Java per leggere il testo da un flusso di input (come un file) bufferizzando i caratteri che leggono senza problemi caratteri, array o linee. In generale, ogni richiesta di lettura fatta da un Reader provoca una richiesta di lettura corrispondente del carattere sottostante o del flusso di byte.
È quindi consigliabile avvolgere BufferedReader in Java attorno a qualsiasi Reader le cui operazioni read () possono essere costose, come java FileReaders e InputStreamReaders. Un utilizzo tipico comporterebbe il passaggio del percorso del file al BufferedReader in Java come segue:
objReader = new BufferedReader(new FileReader("D:\DukesDiary.txt"));//Assuming you have a text file in D drive
Questo fondamentalmente carica il tuo file in objReader.Ora, dovrai iterare attraverso il contenuto del file e stamparlo.
Il ciclo while nel codice seguente leggerà il file fino a quando non avrà raggiunto la fine del file
while ((strCurrentLine = objReader.readLine()) != null) {System.out.println(strCurrentLine);}
strCurrentLine legge la riga corrente e la funzione readLine di Java objReader.readLine () restituisce una stringa. Quindi, il ciclo itererà fino a quando non sarà nullo.
BufferedReader Esempio:
Di seguito è riportato un esempio di Java BufferedReader che mostra l'implementazione 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:
Il codice sopra ha alcune manipolazioni molto importanti specialmente nel blocco finale del codice.
Questo codice garantirà che la gestione della memoria sia eseguita in modo efficiente e che venga chiamato il metodo objReader.close () che rilascia la memoria.
BufferedReader JDK7 Esempio:
Di seguito è riportato l'esempio di Java Read Files utilizzando la classe 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();}}}