Come leggere un file riga per riga in Java

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:

ReadFileLineByLineUsingBufferedReader.java
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:

ReadFileLineByLineUsingScanner.java
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:

ReadFileLineByLineUsingFiles.java
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:

ReadFileLineByLineUsingRandomAccessFile.java
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