📅  最后修改于: 2023-12-03 15:34:46.734000             🧑  作者: Mango
在 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()
函数来创建目录。
这个函数是一个简单而实用的工具,可以确保文件操作的正确性。