Назад к вопросам
Junior — Middle
66
Можно ли осуществить обход строк документа, используя ленивую инициализацию данных?
Ответ от нейросети
sobes.tech AI
Да, в Java можно обойти строки документа с использованием ленивой инициализации, например, с помощью потоков (Streams) или итераторов, которые загружают и обрабатывают строки по мере необходимости, а не сразу все.
Пример с использованием Stream API для чтения файла построчно:
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.stream.Stream;
public class LazyFileReader {
public static void main(String[] args) {
String filePath = "path/to/file.txt";
try (Stream<String> lines = Files.lines(Paths.get(filePath))) {
lines.forEach(line -> {
// Обработка строки
System.out.println(line);
});
} catch (Exception e) {
e.printStackTrace();
}
}
}
Метод Files.lines() возвращает Stream, который читает строки файла по мере обхода, что позволяет экономить память при работе с большими файлами. Таким образом, данные инициализируются лениво — строки загружаются только когда они нужны.