Leggere un file di testo in Java

Mohd Ebad Naqvi 12 ottobre 2023
  1. Usa la classe Scanner per leggere i file in Java
  2. Usa la classe BufferedReader per leggere i file in Java
  3. Usa la classe FileReader per leggere i file in Java
Leggere un file di testo in Java

In quasi tutte le applicazioni, ci occupiamo della lettura e della scrittura di testi, quindi è essenziale imparare a conoscerlo. Esistono diversi metodi per leggere un file di testo normale in Java.

Nel tutorial impareremo come leggere un file di testo in Java.

Usa la classe Scanner per leggere i file in Java

La classe Scanner può leggere i file in Java. Innanzitutto, viene creato un oggetto File che rappresenta il percorso del file richiesto. L’oggetto della classe Scanner viene creato passando l’oggetto File sopra.

La funzione hasNext() controlla se esiste un’altra riga in un file e la funzione nextLine() legge la riga data.

Vedi il codice qui sotto.

import java.io.File;
import java.util.Scanner;
public class ScannerClassDemo {
  public static void main(String[] args) throws Exception {
    File doc = new File("C:\\Drive\\Learn.txt");
    Scanner obj = new Scanner(doc);

    while (obj.hasNextLine()) System.out.println(obj.nextLine());
  }
}

Produzione:

File Reading Example

Se il file specificato non esiste, viene generata un’eccezione FileNotFound.

Possiamo anche farlo creando l’oggetto della classe InputStream e poi passandolo attraverso la classe Scanner.

Per esempio,

import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Scanner;
public class ScannerClassDemo {
  public static void main(String args[]) throws Exception {
    InputStream ins = new FileInputStream("C:\\Drive\\Learn.txt");
    Scanner obj = new Scanner(ins);
    while (obj.hasNextLine()) System.out.println(obj.nextLine());
  }
}

Produzione:

File Reading Example

Il vantaggio di utilizzare questo metodo è che offre capacità di analisi.

Usa la classe BufferedReader per leggere i file in Java

BufferedReader legge il testo da un flusso di input basato sui caratteri. Il buffering viene eseguito per la lettura efficiente di array, righe e caratteri. Se la dimensione del buffer non è specificata, viene utilizzata la dimensione predefinita, che è sufficientemente grande per l’uso. Possiamo usarlo per leggere i file in Java.

BufferedReader fornisce una lettura veloce attraverso il buffering dei dati.

Nell’esempio seguente, leggiamo il testo da un file in un percorso specificato.

import java.io.*;
public class ReadingTextusingBufferedReader {
  public static void main(String[] args) throws Exception {
    File doc = new File("C:\\Drive\\Learn.txt");

    BufferedReader obj = new BufferedReader(new FileReader(doc));

    String strng;
    while ((strng = obj.readLine()) != null) System.out.println(strng);
  }
}

Produzione:

File Reading Example

Usa la classe FileReader per leggere i file in Java

La classe FileReader offre un modo conveniente per leggere il testo normale in java. In questa classe, il metodo del costruttore accetta la dimensione del buffer di byte predefinita e la codifica dei caratteri predefinita come più appropriato.

Possiamo usarlo per leggere i file in Java, come mostrato di seguito.

import java.io.*;
public class ReadingTextFile {
  public static void main(String args[]) throws IOException {
    File doc = new File("Demo.txt");
    doc.createNewFile();
    FileReader freader = new FileReader(doc);
    char[] i = new char[100];
    freader.read(i);
    for (char j : i) System.out.print(j);
    freader.close();
  }
}

Produzione:

File Reading Example

La funzione createNewFile() crea un nuovo file vuoto. Dopo la chiamata alla funzione, se il file non esiste, restituirà True e creerà un file vuoto con un nome specificato.

Articolo correlato - Java File