Struct std::fs::DirBuilder
rust
pub struct DirBuilder { /* private fields */ }用于以各种方式创建目录的构建器。
该构建器还支持特定于平台的选项。
1.Implementations
impl DirBuilder
new
使用所有平台的默认 mode/security 设置创建一组新选项,并且这些选项也是非递归的。
rust
pub fn new() -> DirBuilder返回值:返回一个DirBuilder对象
rust
use std::fs::DirBuilder;
let builder = DirBuilder::new();recursive
指示应递归创建目录,并创建所有父目录。 使用相同的安全性和权限设置创建不存在的父级。
此选项默认为 false。
rust
pub fn recursive(&mut self, recursive: bool) -> &mut Self参数:
- recursive:指定创建目录时是否可以递归创建
返回值:返回自身
rust
use std::fs::DirBuilder;
let mut builder = DirBuilder::new();
builder.recursive(true);create
使用在此构建器中配置的选项来创建指定的目录。
如果目录已经存在,必须调用recursive(true),否则会发生错误
rust
pub fn create<P: AsRef<Path>>(&self, path: P) -> Result<()>参数:
- path:创建目录的路径
返回值:返回一个Result,若成功则返回空,否则返回失败信息
rust
use std::fs::DirBuilder;
fn main() {
let path = "./tmp/foo/bar/baz";
DirBuilder::new().recursive(true).create(path).unwrap();
}运行效果,被创建的文件夹:

2.Trait Implementations
impl Debug for DirBuilder
fmt
使用给定的格式化程序格式化该值。
rust
fn fmt(&self, f: &mut Formatter<'_>) -> Resultimpl DirBuilderExt for DirBuilder
TIP
仅在Unix上可用
mode
设置用于创建新目录的模式。 此选项默认为 0o777。
rust
fn mode(&mut self, mode: u32) -> &mut DirBuilder3.Auto Trait Implementations
impl RefUnwindSafe for DirBuilder
impl Send for DirBuilder
impl Sync for DirBuilder
impl Unpin for DirBuilder
impl UnwindSafe for DirBuilder
4.Blanket Implementations
impl<T> Any for T
rust
impl<T> Any for T
where
T: 'static + ?Sized,impl<T> Borrow<T> for T
rust
impl<T> Borrow<T> for T
where
T: ?Sized,impl<T> BorrowMut<T> for T
rust
impl<T> BorrowMut<T> for T
where
T: ?Sized,impl<T> From<T> for T
rust
impl<T> From<T> for Timpl<T, U> Into<U> for T
rust
impl<T, U> Into<U> for T
where
U: From<T>,impl<T, U> TryFrom<U> for T
rust
impl<T, U> TryFrom<U> for T
where
U: Into<T>,impl<T, U> TryInto<U> for T
rust
impl<T, U> TryInto<U> for T
where
U: TryFrom<T>,