Struct DirBuilder

struct DirBuilder { ... }

A builder for creating directories in various manners.

This is a specialized version of std::fs::DirBuilder for usage on the Tokio runtime.

Implementations

impl DirBuilder

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

Sets the mode to create new directories with.

This option defaults to 0o777.

Examples

use tokio::fs::DirBuilder;

let mut builder = DirBuilder::new();
builder.mode(0o775);

impl DirBuilder

fn new() -> Self

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

This is an async version of std::fs::DirBuilder::new.

Examples

use tokio::fs::DirBuilder;

let builder = DirBuilder::new();
fn recursive(self: &mut Self, recursive: bool) -> &mut Self

Indicates whether to create directories recursively (including all parent directories). Parents that do not exist are created with the same security and permissions settings.

This option defaults to false.

This is an async version of std::fs::DirBuilder::recursive.

Examples

use tokio::fs::DirBuilder;

let mut builder = DirBuilder::new();
builder.recursive(true);
async fn create<impl AsRef<Path>: AsRef<Path>>(self: &Self, path: impl AsRef<Path>) -> Result<()>

Creates the specified directory with the configured options.

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

This is an async version of std::fs::DirBuilder::create.

Errors

An error will be returned under the following circumstances:

  • Path already points to an existing file.
  • Path already points to an existing directory and the mode is non-recursive.
  • The calling process doesn't have permissions to create the directory or its missing parents.
  • Other I/O error occurred.

Examples

use tokio::fs::DirBuilder;
use std::io;

#[tokio::main]
async fn main() -> io::Result<()> {
    DirBuilder::new()
        .recursive(true)
        .create("/tmp/foo/bar/baz")
        .await?;

    Ok(())
}

impl Debug for DirBuilder

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

impl Default for DirBuilder

fn default() -> DirBuilder

impl Freeze for DirBuilder

impl RefUnwindSafe for DirBuilder

impl Send for DirBuilder

impl Sync for DirBuilder

impl Unpin for DirBuilder

impl UnsafeUnpin for DirBuilder

impl UnwindSafe for DirBuilder

impl<T> Any for DirBuilder

fn type_id(self: &Self) -> TypeId

impl<T> Borrow for DirBuilder

fn borrow(self: &Self) -> &T

impl<T> BorrowMut for DirBuilder

fn borrow_mut(self: &mut Self) -> &mut T

impl<T> From for DirBuilder

fn from(t: T) -> T

Returns the argument unchanged.

impl<T, U> Into for DirBuilder

fn into(self: Self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom for DirBuilder

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

impl<T, U> TryInto for DirBuilder

fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>