РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
788 of 1245 menu

Функция new класса BufReader

Функция new класса BufReader создаёт новый буферизованный читатель, который оборачивает указанный источник чтения и добавляет внутренний буфер для повышения производительности при частых операциях чтения. Параметром функция принимает значение, реализующее трейт Read, например файл, стандартный ввод или срез байтов. Буферизация позволяет сократить количество системных вызовов, что особенно важно при чтении небольшими порциями.

Синтаксис

BufReader::new(inner)

Пример

Давайте создадим буферизованный читатель поверх стандартного ввода и прочитаем одну строку:

use std::io::{self, BufRead, BufReader}; fn main() { let stdin = io::stdin(); let mut reader = BufReader::new(stdin.lock()); let mut line = String::new(); println!("Enter some text:"); reader.read_line(&mut line).unwrap(); println!("You entered: {}", line.trim()); }

Результат выполнения кода:

Enter some text: "abcde" You entered: "abcde"

Пример

Давайте создадим буферизованный читатель поверх среза байтов и прочитаем все строки по очереди:

use std::io::{BufRead, BufReader}; fn main() { let data = "abcde\n12345\n"; let reader = BufReader::new(data.as_bytes()); for line in reader.lines() { let line = line.unwrap(); println!("{}", line); } }

Результат выполнения кода:

"abcde" "12345"

Пример

Давайте создадим буферизованный читатель с заданным размером буфера и прочитаем байты в вектор:

use std::io::{BufReader, Read}; fn main() { let data = b"abcde"; let mut reader = BufReader::with_capacity(8, &data[..]); let mut buf = Vec::new(); reader.read_to_end(&mut buf).unwrap(); println!("{:?}", buf); }

Результат выполнения кода:

[97, 98, 99, 100, 101]

Смотрите также

  • класс BufReader,
    который представляет буферизованный читатель
  • метод read_line,
    который читает одну строку из буферизованного источника
  • метод lines,
    который возвращает итератор по строкам источника
  • метод read_to_string,
    который читает всё содержимое источника в строку
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить