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

Метод new класса BufWriter

Метод new класса BufWriter создает новый буферизованный писатель. Он принимает в качестве параметра объект, реализующий трейт Write, и оборачивает его в буфер, что позволяет значительно сократить количество системных вызовов при записи данных. Данные сначала накапливаются в буфере, а затем сбрасываются в нижележащий писатель одним разом при заполнении буфера или при вызове метода flush. По умолчанию размер буфера составляет 8 килобайт. Метод возвращает новый экземпляр BufWriter.

Синтаксис

BufWriter::new(inner)

Пример

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

use std::io::{BufWriter, Write}; fn main() { let stdout = std::io::stdout(); let mut writer = BufWriter::new(stdout); writer.write_all(b"abcde").unwrap(); writer.flush().unwrap(); }

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

"abcde"

Пример

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

use std::io::{BufWriter, Write}; fn main() { let mut writer = BufWriter::new(Vec::new()); writer.write_all(b"12345").unwrap(); writer.write_all(b"abcde").unwrap(); writer.flush().unwrap(); let res = writer.into_inner().unwrap(); let text = String::from_utf8(res).unwrap(); println!("{}", text); }

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

"12345abcde"

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

  • класс BufWriter,
    который представляет буферизованный писатель
  • метод new класса BufReader,
    который создает буферизованный читатель
  • метод flush,
    который сбрасывает буфер в нижележащий писатель
  • метод write!,
    который записывает форматированную строку в писатель
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить