Чтение текста из файла в Rust
Весь файл читают в строку одним вызовом.
Команда из модуля файловой системы открывает
путь, забирает байты и собирает их в
String. Ответ имеет тип результата:
удача несет текст, сбой объясняет, что
пошло не так.
Вынесем чтение в функцию с исходом и
выведем содержимое в main.rs:
use std::fs;
use std::io;
fn load_note() -> io::Result<String> {
fs::read_to_string("note.txt")
}
fn main() -> io::Result<()> {
let text = load_note()?;
println!("{}", text);
Ok(())
}
Если файла нет, знак вопроса в main
вернет сбой наружу. Разберем тот же исход
вручную:
use std::fs;
fn main() {
match fs::read_to_string("note.txt") {
Ok(text) => println!("{}", text),
Err(err) => println!("{}", err),
}
}
Дан путь:
let path = "docs/readme.txt";
Прочитайте весь текст в строку, разберите исход и выведите содержимое или текст сбоя.
Дан путь:
let path = "missing.txt";
Скажите, какой вариант результата вернется, если такого файла нет на диске.
Напишите функцию с исходом, которая читает
note.txt, и вызовите ее из main
через знак вопроса.