Как прочитать текстовый файл на java?

Пользователь

от otha_marks , в категории: Java , 3 года назад

Как прочитать текстовый файл на java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от NicolasSsh , 3 года назад

@otha_marks  Вы можете использовать import java.nio.file.Files; import java.nio.file.Paths; для чтения файла.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import java.nio.file.Files;
import java.nio.file.Paths;


class Main {
    public static void main(String[] args) throws Exception {
        String content = Files.lines(Paths.get("data.txt")).reduce("", String::concat);
        System.out.println(content);
    }
}

Пользователь

от krista , 2 года назад

@otha_marks 

Чтение текстового файла на Java можно осуществить следующим образом:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class ReadFile {
    public static void main(String[] args) {
        BufferedReader reader = null;

        try {
            reader = new BufferedReader(new FileReader("file.txt"));
            String line = null;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (reader != null) {
                    reader.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}


В данном примере создается объект BufferedReader, который читает текст из файла file.txt. Затем в цикле происходит чтение каждой строки файла, которая выводится на экран с помощью метода System.out.println(). После окончания чтения файла вызывается метод close(), чтобы освободить ресурсы.


Обратите внимание, что в данном примере используется конструкция try-with-resources, которая автоматически закрывает ресурсы после окончания работы с ними. Для этого нужно изменить код следующим образом:

1
2
3
4
5
6
7
8
try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) {
    String line = null;
    while ((line = reader.readLine()) != null) {
        System.out.println(line);
    }
} catch (IOException e) {
    e.printStackTrace();
}


Здесь объект BufferedReader создается внутри блока try, и после окончания его выполнения ресурс автоматически закрывается.