Считывание большого текстового файла (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;
}
}