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

Функция read_to_string

Функция read_to_string из модуля fs читает всё содержимое файла в строку. Первым параметром функция принимает путь к файлу, а вторым - изменяемую ссылку на строку String, в которую будет записано содержимое файла. Функция возвращает значение Result: Ok с количеством прочитанных байт при успехе или ошибку Err в противном случае.

Синтаксис

fs::read_to_string<P: AsRef<Path>>(path: P) -> Result<String>

Также существует вариант с записью в переданный буфер:

fs::read_to_string(path).and_then(|s| { /* ... */ })

Пример

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

use std::fs; fn main() { fs::write("test.txt", "abcde").unwrap(); let res = fs::read_to_string("test.txt").unwrap(); println!("{}", res); }

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

"abcde"

Пример

Давайте обработаем возможную ошибку при чтении несуществующего файла с помощью match:

use std::fs; fn main() { let res = fs::read_to_string("missing.txt"); match res { Ok(content) => println!("{}", content), Err(e) => println!("Error: {}", e), } }

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

Error: No such file or directory (os error 2)

Пример

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

use std::fs; fn main() { fs::write("data.txt", "12345\nabcde").unwrap(); let res = fs::read_to_string("data.txt").unwrap(); let count = res.lines().count(); println!("{}", count); }

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

2

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

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