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

Метод append

Метод append класса OpenOptions устанавливает флаг, который позволяет открывать файл в режиме добавления. Когда этот флаг установлен, все записи будут производиться в конец файла, а существующее содержимое файла не будет перезаписано. Параметром метод принимает булево значение: true включает режим добавления, а false отключает его. Метод возвращает изменённую ссылку на OpenOptions, что позволяет выстраивать цепочку вызовов.

Синтаксис

OpenOptions::new().append(true).open(path)

Пример

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

use std::fs::OpenOptions; use std::io::Write; fn main() { let mut file = OpenOptions::new() .append(true) .create(true) .open("test.txt") .unwrap(); file.write_all(b"abcde").unwrap(); }

После выполнения кода данные "abcde" будут добавлены в конец файла test.txt. Если файл уже содержал данные, они сохранятся, а новая строка допишется после них.

Пример

Давайте проверим, что при повторном открытии с флагом append старое содержимое файла не перезаписывается. Запишем в файл две строки последовательно:

use std::fs::OpenOptions; use std::io::Write; fn main() { let mut file = OpenOptions::new() .append(true) .create(true) .open("test.txt") .unwrap(); file.write_all(b"12345").unwrap(); let mut file2 = OpenOptions::new() .append(true) .create(true) .open("test.txt") .unwrap(); file2.write_all(b"abcde").unwrap(); }

В результате в файле test.txt окажется строка:

"12345abcde"

Пример

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

use std::fs; use std::fs::OpenOptions; use std::io::Write; fn main() { let mut file = OpenOptions::new() .append(true) .create(true) .open("test.txt") .unwrap(); file.write_all(b"abcde").unwrap(); let res = fs::read_to_string("test.txt") .unwrap(); println!("{}", res); }

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

"abcde"

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

  • класс OpenOptions,
    который настраивает параметры открытия файла
  • метод write,
    который устанавливает режим записи в файл
  • метод create,
    который создаёт файл, если он не существует
  • метод open,
    который открывает файл с заданными параметрами
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить