Leggere un file di testo in Java
-
Usa la classe
Scanner
per leggere i file in Java -
Usa la classe
BufferedReader
per leggere i file in Java -
Usa la classe
FileReader
per leggere i file 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.