# 1.6.0[−][src]Struct std::fs::DirBuilder

    pub struct DirBuilder { /* fields omitted */ }

A builder used to create directories in various manners.

This builder also supports platform-specific options.

## Methods

###

`impl DirBuilder` | [src]

####

`pub fn new() -> DirBuilder` | [src]

Creates a new set of options with default mode/security settings for all platforms and also non-recursive.

# Examples

    use std::fs::DirBuilder;

    let builder = DirBuilder::new();Run

####
ⓘImportant traits for &'_ mut I

### Important traits for &'_ mut I

`impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'a, R: Read + ?Sized> Read for &'a mut Rimpl<'a, W: Write + ?Sized> Write for &'a mut W`

`pub fn recursive(&mut self, recursive: bool) -> &mut Self` | [src]

Indicates that directories should be created recursively, creating all parent directories. Parents that do not exist are created with the same security and permissions settings.

This option defaults to `false`.

# Examples

    use std::fs::DirBuilder;

    let mut builder = DirBuilder::new();
    builder.recursive(true);Run

####

`pub fn create<P: AsRef<Path>>(&self, path: P) -> Result<()>` | [src]

Create the specified directory with the options configured in this builder.

It is considered an error if the directory already exists unless recursive mode is enabled.

# Examples

    use std::fs::{self, DirBuilder};

    let path = "/tmp/foo/bar/baz";
    DirBuilder::new()
        .recursive(true)
        .create(path).unwrap();

    assert!(fs::metadata(path).unwrap().is_dir());Run

## Trait Implementations

###

`impl DirBuilderExt for DirBuilder` | [src]

####

`fn mode(&mut self, mode: u32) -> &mut DirBuilder` | [src]

This is supported on Unix only.

Sets the mode to create new directories with. This option defaults to 0o777. Read more

###

`impl Debug for DirBuilder` | [src]

####

`fn fmt(&self, f: &mut Formatter) -> Result` | [src]

Formats the value using the given formatter. Read more

## Auto Trait Implementations

###

`impl Send for DirBuilder` |

###

`impl Sync for DirBuilder` |

## Blanket Implementations

###

`impl<T> From for T` | [src]

####

`fn from(t: T) -> T` | [src]

Performs the conversion.

###

`impl<T, U> TryFrom for T where T: From<U>,` | [src]

#### `type Error = !`

🔬 This is a nightly-only experimental API. (`try_from` #33417)

The type returned in the event of a conversion error.

####

`fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>` | [src]

🔬 This is a nightly-only experimental API. (`try_from` #33417)

Performs the conversion.

###

`impl<T, U> TryInto for T where U: TryFrom<T>,` | [src]

#### `type Error = <U as TryFrom<T>>::Error`

🔬 This is a nightly-only experimental API. (`try_from` #33417)

The type returned in the event of a conversion error.

####

`fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>` | [src]

🔬 This is a nightly-only experimental API. (`try_from` #33417)

Performs the conversion.

###

`impl<T, U> Into for T where U: From<T>,` | [src]

####

`fn into(self) -> U` | [src]

Performs the conversion.

###

`impl<T> Borrow for T where T: ?Sized,` | [src]

####
ⓘImportant traits for &'_ mut I

### Important traits for &'_ mut I

`impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'a, R: Read + ?Sized> Read for &'a mut Rimpl<'a, W: Write + ?Sized> Write for &'a mut W`

`fn borrow(&self) -> &T` | [src]

Immutably borrows from an owned value. Read more

###

`impl<T> BorrowMut for T where T: ?Sized,` | [src]

####
ⓘImportant traits for &'_ mut I

### Important traits for &'_ mut I

`impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'a, R: Read + ?Sized> Read for &'a mut Rimpl<'a, W: Write + ?Sized> Write for &'a mut W`

`fn borrow_mut(&mut self) -> &mut T` | [src]

Mutably borrows from an owned value. Read more

###

`impl<T> Any for T where T: 'static + ?Sized,` | [src]

####

`fn get_type_id(&self) -> TypeId` | [src]

🔬 This is a nightly-only experimental API. (`get_type_id` #27745)

this method will likely be replaced by an associated static

Gets the `TypeId` of `self`. Read more

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g., `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g., `vec -> usize` or `* -> vec`)

Search multiple things at once by splitting your query with comma (e.g., `str,u8` or `String,struct:Vec,test`)