В этой статье мы узнаем, как прочитать содержимое файла в Java. Для этой цели мы рассотрим несколько способов чтения файла.

Во всех способах мы будем вычитывать файл names.txt, который должен находиться в корне проекта

1. Files.newBufferedReader (Java 8+)

Первый способ – используя BufferedReader из Java 8:

public class ReadFileBufferedReaderJava8 {

    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();

        try (BufferedReader reader = Files.newBufferedReader(Paths.get("names.txt"))) {

            String line;
            while ((line = reader.readLine()) != null) {
                sb.append(line).append(System.lineSeparator());
            }

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

        System.out.println(sb);
    }
}

2. BufferedReader

Здесь мы используем BufferedReader и try-with-resources из Java 7.

public static void main(String[] args) {
    try (FileReader reader = new FileReader("names.txt");
         BufferedReader br = new BufferedReader(reader)) {

        // read line by line
        String line;
        while ((line = br.readLine()) != null) {
            System.out.println(line);
        }

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

Исходный код

Александр
Борис
Владимир
Геннадий
Диана
Елизавета
package ru.javalessons.files;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;

public class ReadFileBufferedReader {

    public static void main(String[] args) {
        try (FileReader reader = new FileReader("names.txt");
             BufferedReader br = new BufferedReader(reader)) {

            // read line by line
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
package ru.javalessons.files;

import java.io.BufferedReader;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;

public class ReadFileBufferedReaderJava8 {

    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();

        try (BufferedReader reader = Files.newBufferedReader(Paths.get("names.txt"))) {

            String line;
            while ((line = reader.readLine()) != null) {
                sb.append(line).append(System.lineSeparator());
            }

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

        System.out.println(sb);
    }
}

Резюме

В этой статье мы рассмотрели различные способы чтения текстовой информации из файла.

Как прочитать данные из файла