Удаление файла в Rust
Удаление убирает файл по пути. Команда работает только с файлом, не с папкой. Ответ снова имеет вид результата без полезного значения: либо пустая удача, либо сбой, если объекта уже нет или нет прав.
Создадим файл, удалим его и проверим метаданные:
use std::fs;
use std::io;
fn drop_note() -> io::Result<()> {
fs::remove_file("note.txt")?;
Ok(())
}
fn main() -> io::Result<()> {
fs::write("note.txt", "tmp")?;
drop_note()?;
match fs::metadata("note.txt") {
Ok(_) => println!("still there"),
Err(err) => println!("{}", err),
}
Ok(())
}
Повторное удаление того же пути обычно дает сбой:
use std::fs;
fn main() {
match fs::remove_file("note.txt") {
Ok(()) => println!("removed"),
Err(err) => println!("{}", err),
}
}
Дан путь:
let path = "data/old.txt";
Создайте файл, удалите его и выведите текст сбоя при следующем чтении.
Дан путь:
let path = "missing.txt";
Попробуйте удалить несуществующий файл и опишите исход.
Вынесите удаление в функцию с исходом
и вызовите ее из main.