Leggere un file di testo in java

di  Antonio Coschignano, sabato 08 settembre 2012

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 link che potrebbero interessarti
  • Utilizzare un JButton in Java Swing
  • Utilizzare HTML in componenti Java Swing
  • Numeri casuali in java
  • Modalità Full Screen Exclusive in java
  • Le variabili atomiche in java
  • Le classi anonime
  • Java Regex
  • Java Database MySql
  • Java Cursor Mouse
  • Import Static Java
  • Implementare un Singleton
  • Implementare un KeyListener in java Swing
  • Implementare il System.out su una JTextArea
  • Il costrutto if in java
  • Il costrutto foreach in java
  • Il blocco static
  • Creare una ToolBar in Java Swing
  • Chiudere le applicazioni Java Swing
  • Bordo con titolo in Java Swing
  • Background Image per componenti Java Swing