Считывание большого текстового файла (java)

Есть задание - считать большой текстовый файл, отфильтровать необходимые данные из представленных, сделать с ними некоторые манипуляции и создать новый файл с этими корректированными данными. Подскажите, каким способом посоветуете читать крупные файлы? Я пользуюсь Bufferedreader-ом, но использую пока-что заглушку (небольшой файл), и не знаю потянет ли данный метод крупный файл на 10к строк. Может посоветуете более эффективные методы чтения?


Ответы (1 шт):

Автор решения: Дмитрий

Попробуйте так:

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Test {

    public static void main(String[] args) throws IOException {

        String inputFileName = "";
        String outputFileName = "";

        try (Stream<String> stream = Files.lines(Paths.get(inputFileName))) {
            Files.write(Paths.get(outputFileName), 
                    stream
                            .map(line->transformLine(line))
                            .collect(Collectors.joining("\n")).getBytes());
        }

    }

    public static String transformLine(String line) {
        //todo
        return line;
    }

}
→ Ссылка