Skip to content

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();
}

运行效果,被创建的文件夹:

image-20260508120755363

2.Trait Implementations

impl Debug for DirBuilder

fmt

使用给定的格式化程序格式化该值。

rust
fn fmt(&self, f: &mut Formatter<'_>) -> Result

impl DirBuilderExt for DirBuilder

TIP

仅在Unix上可用

mode

设置用于创建新目录的模式。 此选项默认为 0o777。

rust
fn mode(&mut self, mode: u32) -> &mut DirBuilder

3.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 T

impl<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>,

MIT Licensed