Создание папки в Rust
Папку создают отдельно от файла. Одна команда делает один уровень: родительский каталог уже должен существовать. Другая команда строит всю цепочку вложенности за один шаг.
Создадим каталог data и файл внутри:
use std::fs;
use std::io;
fn make_data() -> io::Result<()> {
fs::create_dir("data")?;
Ok(())
}
fn main() -> io::Result<()> {
make_data()?;
fs::write("data/note.txt", "in dir")?;
Ok(())
}
Для вложенных имен удобнее цепочка сразу:
use std::fs;
use std::io;
fn main() -> io::Result<()> {
fs::create_dir_all("docs/archive")?;
fs::write("docs/archive/note.txt", "deep")?;
Ok(())
}
Дан путь:
let path = "data";
Создайте каталог, запишите в него
note.txt и прочитайте текст.
Дан путь:
let path = "docs/2024/logs";
Создайте всю цепочку одной командой и проверьте метаданные последней папки.
Скажите, когда нужна команда на один уровень, а когда на всю вложенность.