Introduzione
In questo articolo, imparerai diversi modi per utilizzare Java per leggere il contenuto di un file riga per riga. Questo articolo utilizza metodi dalle seguenti classi Java: java.io.BufferedReader
, java.util.Scanner
, Files.readAllLines()
e java.io.RandomAccessFile
.
Lettura di un file riga per riga utilizzando BufferedReader
Puoi utilizzare il metodo readLine()
di java.io.BufferedReader
per leggere un file riga per riga come stringa. Questo metodo restituisce null
quando viene raggiunta la fine del file.
Ecco un esempio di programma per leggere un file riga per riga con BufferedReader
:
package com.journaldev.readfileslinebyline;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFileLineByLineUsingBufferedReader {
public static void main(String[] args) {
BufferedReader reader;
try {
reader = new BufferedReader(new FileReader("sample.txt"));
String line = reader.readLine();
while (line != null) {
System.out.println(line);
// leggi la prossima riga
line = reader.readLine();
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Continua il tuo apprendimento con la Documentazione API di BufferedReader
(Java SE 8).
Lettura di un file riga per riga utilizzando Scanner
Puoi utilizzare la classe Scanner
per aprire un file e quindi leggere il suo contenuto riga per riga.
Ecco un esempio di programma per leggere un file riga per riga con Scanner
:
package com.journaldev.readfileslinebyline;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ReadFileLineByLineUsingScanner {
public static void main(String[] args) {
try {
Scanner scanner = new Scanner(new File("sample.txt"));
while (scanner.hasNextLine()) {
System.out.println(scanner.nextLine());
}
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
Continua il tuo apprendimento con la Documentazione API di Scanner
(Java SE 8).
Lettura di un file riga per riga utilizzando Files
java.nio.file.Files
è una classe di utilità che contiene vari metodi utili. Il metodo readAllLines()
può essere utilizzato per leggere tutte le righe del file in una lista di stringhe.
Ecco un esempio di programma per leggere un file riga per riga con Files
:
package com.journaldev.readfileslinebyline;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
public class ReadFileLineByLineUsingFiles {
public static void main(String[] args) {
try {
List<String> allLines = Files.readAllLines(Paths.get("sample.txt"));
for (String line : allLines) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Continua il tuo apprendimento con la Documentazione API Files
(Java SE 8).
Lettura di un file riga per riga utilizzando RandomAccessFile
Puoi utilizzare RandomAccessFile
per aprire un file in modalità lettura e poi utilizzare il suo metodo readLine
per leggere un file riga per riga.
Ecco un esempio di programma per leggere un file riga per riga con RandomAccessFile
:
package com.journaldev.readfileslinebyline;
import java.io.IOException;
import java.io.RandomAccessFile;
public class ReadFileLineByLineUsingRandomAccessFile {
public static void main(String[] args) {
try {
RandomAccessFile file = new RandomAccessFile("sample.txt", "r");
String str;
while ((str = file.readLine()) != null) {
System.out.println(str);
}
file.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Continua il tuo apprendimento con la Documentazione API RandomAccessFile
(Java SE 8).
Conclusioni
In questo articolo hai appreso diversi modi per utilizzare Java per leggere il contenuto di un file riga per riga.
Continua il tuo apprendimento con altri tutorial di Java.
Source:
https://www.digitalocean.com/community/tutorials/java-read-file-line-by-line