back to top

Leggere un file di testo in java

In java ci sono diverse modalità per leggere dati da uno stream (che sia un file oppure un socket), ognune dei quali è indicato in base alle operazioni che vogliamo eseguire. Per quanto ci riguarda, se vogliamo leggere righe di testo da un file allora ci conviene utilizzare la classe BufferedReader che è indicata proprio per questo scopo.

La classe BufferedReader implementa due costruttori. Il primo costruttore riceve un solo oggetto di tipo Reader, mentre il secondo riceve sempre il tipo Reader ed un secondo valore di tipo intero che specifica la lunghezza del buffer. Per il nostro scopo possiamo utilizzare il primo costruttore, passando come parametro un’istanza di FileReader che è un’implementazione di Reader per leggere i file:

BufferedReader reader = new BufferedReader(new FileReader("prova.txt"));

Per leggere il file dobbiamo farlo una riga per volta utilizzando il metodo readLine():

String line = reader.readLine();
while(line!=null) {
     System.out.println(line);
     line = reader.readLine();
}

Il codice è abbastanza chiaro. Quando il metodo readLine() ritorna null significa che abbiamo raggiunto la fine del file, quindi il ciclo si ferma. Il codice qui sotto è l’esempio completo dove vengono gestite anche le eccezioni che possono essere sollevate (IOException, FileNotFoundException):

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class BufferReaderExample {

    public static void main(String [] args) throws FileNotFoundException, IOException {
        BufferedReader reader = new BufferedReader(new FileReader("c://prova.txt"));
        String line = reader.readLine();
        while(line!=null) {
            System.out.println(line);
            line = reader.readLine();
        }
    }

}

Altri contenuti interessanti

Pubblicità

Leggi anche...

Java: cos’è e a cosa serve l’operatore modulo (%)

In Java, l'operatore modulo è rappresentato dal simbolo "%"...

Arrotondare un numero con Java

Quando si lavora con i numeri all'interno di un...

Java: cos’è l’errore NullPointerException e come risolverlo

RuntimeException è una superclasse di Java che ricomprende tutte...

Stringhe in Java

La gestione delle stringhe assume un ruolo fondamentale in...

Il costrutto foreach in java

Il foreach è un particolare costrutto (disponibile a partire...

Java split() – dividere una stringa

Grazie al metodo split() della classe String di Java...
Pubblicità