[][src]Struct tempfile::Builder

pub struct Builder<'a, 'b> { /* fields omitted */ }

Create a new temporary file or directory with custom parameters.

Methods

impl<'a, 'b> Builder<'a, 'b>
[src]

Create a new Builder.

Examples

Create a named temporary file and write some data into it:

use tempfile::Builder;

let named_tempfile = Builder::new()
    .prefix("my-temporary-note")
    .suffix(".txt")
    .rand_bytes(5)
    .tempfile()?;

let name = named_tempfile
    .path()
    .file_name().and_then(OsStr::to_str);

if let Some(name) = name {
    assert!(name.starts_with("my-temporary-note"));
    assert!(name.ends_with(".txt"));
    assert_eq!(name.len(), "my-temporary-note.txt".len() + 5);
}

Create a temporary directory and add a file to it:

use tempfile::Builder;

let dir = Builder::new()
    .prefix("my-temporary-dir")
    .rand_bytes(5)
    .tempdir()?;

let file_path = dir.path().join("my-temporary-note.txt");
let mut file = File::create(file_path)?;
writeln!(file, "Brian was here. Briefly.")?;

// By closing the `TempDir` explicitly, we can check that it has
// been deleted successfully. If we don't close it explicitly,
// the directory will still be deleted when `dir` goes out
// of scope, but we won't know whether deleting the directory
// succeeded.
drop(file);
dir.close()?;

Set a custom filename prefix.

Path separators are legal but not advisable. Default: .tmp.

Examples

let named_tempfile = Builder::new()
    .prefix("my-temporary-note")
    .tempfile()?;

Set a custom filename suffix.

Path separators are legal but not advisable. Default: empty.

Examples

let named_tempfile = Builder::new()
    .suffix(".txt")
    .tempfile()?;

Set the number of random bytes.

Default: 6.

Examples

let named_tempfile = Builder::new()
    .rand_bytes(5)
    .tempfile()?;

Create the named temporary file.

Security

See the security docs on NamedTempFile.

Resource leaking

See the resource leaking docs on NamedTempFile.

Errors

If the file cannot be created, Err is returned.

Examples

let tempfile = Builder::new().tempfile()?;

Create the named temporary file in the specified directory.

Security

See the security docs on NamedTempFile.

Resource leaking

See the resource leaking docs on NamedTempFile.

Errors

If the file cannot be created, Err is returned.

Examples

let tempfile = Builder::new().tempfile_in("./")?;

Attempts to make a temporary directory inside of env::temp_dir() whose name will have the prefix, prefix. The directory and everything inside it will be automatically deleted once the returned TempDir is destroyed.

Resource leaking

See the resource leaking docs on TempDir.

Errors

If the directory can not be created, Err is returned.

Examples

use std::fs::File;
use std::io::Write;
use tempfile::Builder;

let tmp_dir = Builder::new().tempdir()?;

Attempts to make a temporary directory inside of dir. The directory and everything inside it will be automatically deleted once the returned TempDir is destroyed.

Resource leaking

See the resource leaking docs on TempDir.

Errors

If the directory can not be created, Err is returned.

Examples

use std::fs::{self, File};
use std::io::Write;
use tempfile::Builder;

let tmp_dir = Builder::new().tempdir_in("./")?;

Trait Implementations

impl<'a, 'b> Clone for Builder<'a, 'b>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<'a, 'b> Eq for Builder<'a, 'b>
[src]

impl<'a, 'b> Default for Builder<'a, 'b>
[src]

Returns the "default value" for a type. Read more

impl<'a, 'b> PartialEq<Builder<'a, 'b>> for Builder<'a, 'b>
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<'a, 'b> Debug for Builder<'a, 'b>
[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl<'a, 'b> Send for Builder<'a, 'b>

impl<'a, 'b> Sync for Builder<'a, 'b>

Blanket Implementations

impl<T> From for T
[src]

Performs the conversion.

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

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

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

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

The type returned in the event of a conversion error.

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

Performs the conversion.

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

Immutably borrows from an owned value. Read more

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

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

this method will likely be replaced by an associated static

Gets the TypeId of self. Read more

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

Mutably borrows from an owned value. Read more

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

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

The type returned in the event of a conversion error.

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

Performs the conversion.