Построчное чтение файла в Java

В данном мануале мы разберем разные способы построчного считывания содержимого файла с помощью Java. Это можно сделать с помощью следующих классов Java: java.io.BufferedReader, java.util.Scanner, Files.readAllLines() и java.io.RandomAccessFile.

Чтение файла с помощью BufferedReader

Читать файл построчно можно с помощью метода readLine() из java.io.BufferedReader. Этот метод возвращает null при достижении конца файла.

Пример считывания с помощью BufferedReader:

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);
				// read next line
				line = reader.readLine();
			}

			reader.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}

Узнайте больше о BufferedReader в API Doc (Java SE 8).

Чтение файла с помощью Scanner

С помощью класса Scanner можно открыть файл, а затем построчно прочитать его содержимое.

Ниже приведен пример чтения файла с помощью 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();
		}
	}

}

Рекомендуем узнать больше о Scanner в API Doc (Java SE 8).

Чтение файла с помощью java.nio.file.Files

java.nio.file.Files — это класс утилит, в котором есть разные полезные методы. С помощью метода readAllLines() можно прочитать все строки файла в виде списка.

Пример построчного чтения файла с помощью 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 allLines = Files.readAllLines(Paths.get("sample.txt"));

			for (String line : allLines) {
				System.out.println(line);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}

Рекомендуем подробнее ознакомиться с Files в API Doc (Java SE 8).

Чтение файла с помощью RandomAccessFile

С помощью RandomAccessFile можно открыть файл в read mode, а затем с помощью метода readLine прочитать файл построчно.

Пример работы 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();
		}
	}

}

Узнайте больше о RandomAccessFile в API Doc (Java SE 8).

Заключение

В этом мануале мы разобрали разные способы построчного чтения содержимого файла с помощью Java.

Читайте также: Отправка HTTP-запросов GET и POST в Java

Tags:

Добавить комментарий