Функция write
Функция write из модуля std::fs записывает
переданные байты в файл по указанному пути. Если файл
не существует, он будет создан. Если файл уже существует,
его содержимое будет полностью перезаписано.
Первым параметром функция принимает путь к файлу,
а вторым - данные, которые нужно записать.
Функция возвращает результат типа io::Result<()>,
который сигнализирует об успехе или ошибке операции.
Синтаксис
use std::fs;
fs::write(path, contents)
Пример
Давайте запишем строку "abcde" в файл
"test.txt":
use std::fs;
fn main()
{
let res = fs::write("test.txt", "abcde");
println!("{:?}", res);
}
Результат выполнения кода:
Ok(())
Пример
Давайте запишем строку в файл и затем прочитаем его содержимое для проверки:
use std::fs;
fn main()
{
fs::write("test.txt", "12345").unwrap();
let res = fs::read_to_string("test.txt").unwrap();
println!("{}", res);
}
Результат выполнения кода:
12345
Пример
Давайте запишем в файл данные в виде среза байтов:
use std::fs;
fn main()
{
let data: &[u8] = b"abcde";
let res = fs::write("test.txt", data);
println!("{:?}", res);
}
Результат выполнения кода:
Ok(())
Пример
Давайте попробуем записать данные по несуществующему пути и обработаем возможную ошибку:
use std::fs;
fn main()
{
match fs::write("no_such_dir/test.txt", "abcde")
{
Ok(_) => println!("success"),
Err(e) => println!("error: {}", e),
}
}
Результат выполнения кода:
error: No such file or directory (os error 2)
Смотрите также
-
функция
read,
которая читает содержимое файла в виде байтов -
функция
read_to_string,
которая читает содержимое файла в виде строки -
функция
copy,
которая копирует файл из одного места в другое -
функция
rename,
которая переименовывает или перемещает файл