📜  rust 创建目录如果不存在 - Rust (1)

📅  最后修改于: 2023-12-03 15:34:46.734000             🧑  作者: Mango

Rust 创建目录如果不存在

在 Rust 中,使用 std::fs::create_dir() 函数可以创建一个目录。但如果目录已经存在,这个函数会返回一个错误。因此,我们需要一种方法来检查目录是否存在,如果不存在则创建。

下面是一个示例函数可以检查目录是否存在,如果不存在则创建:

use std::path::Path;
use std::fs;

fn create_dir_if_not_exists(path: &Path) -> Result<(), std::io::Error> {
    if !path.exists() {
        fs::create_dir(path)?;
    }
    Ok(())
}

在这个函数中,我们使用了 std::path::Path 来处理路径。首先,我们检查路径是否存在。如果不存在,我们调用 std::fs::create_dir() 函数来创建目录。

函数返回 Result<(), std::io::Error> 类型,因此我们可以在调用该函数时使用 ? 运算符来处理可能的错误。如果目录已经存在,则不需要创建,因此函数返回 Ok(())

这是一个示例如何使用该函数:

use std::path::PathBuf;

fn main() -> Result<(), std::io::Error> {
    let dir_path = PathBuf::from("example_dir");
    create_dir_if_not_exists(&dir_path)?;
    Ok(())
}

在这个示例中,我们使用 std::path::PathBuf 来构建路径对象。然后,我们调用 create_dir_if_not_exists() 函数来创建目录。

这个函数是一个简单而实用的工具,可以确保文件操作的正确性。