pub struct Builder<'a, 'b> { /* private fields */ }Expand description
Create a new temporary file or directory with custom parameters.
Implementations
sourceimpl<'a, 'b> Builder<'a, 'b>
 
impl<'a, 'b> Builder<'a, 'b>
sourcepub fn new() -> Self
 
pub fn new() -> Self
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()?;sourcepub fn prefix<S: AsRef<OsStr> + ?Sized>(&mut self, prefix: &'a S) -> &mut Self
 
pub fn prefix<S: AsRef<OsStr> + ?Sized>(&mut self, prefix: &'a S) -> &mut Self
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()?;sourcepub fn suffix<S: AsRef<OsStr> + ?Sized>(&mut self, suffix: &'b S) -> &mut Self
 
pub fn suffix<S: AsRef<OsStr> + ?Sized>(&mut self, suffix: &'b S) -> &mut Self
Set a custom filename suffix.
Path separators are legal but not advisable. Default: empty.
Examples
let named_tempfile = Builder::new()
    .suffix(".txt")
    .tempfile()?;sourcepub fn rand_bytes(&mut self, rand: usize) -> &mut Self
 
pub fn rand_bytes(&mut self, rand: usize) -> &mut Self
Set the number of random bytes.
Default: 6.
Examples
let named_tempfile = Builder::new()
    .rand_bytes(5)
    .tempfile()?;sourcepub fn append(&mut self, append: bool) -> &mut Self
 
pub fn append(&mut self, append: bool) -> &mut Self
Set the file to be opened in append mode.
Default: false.
Examples
let named_tempfile = Builder::new()
    .append(true)
    .tempfile()?;sourcepub fn tempfile(&self) -> Result<NamedTempFile>
 
pub fn tempfile(&self) -> Result<NamedTempFile>
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()?;sourcepub fn tempfile_in<P: AsRef<Path>>(&self, dir: P) -> Result<NamedTempFile>
 
pub fn tempfile_in<P: AsRef<Path>>(&self, dir: P) -> Result<NamedTempFile>
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("./")?;sourcepub fn tempdir(&self) -> Result<TempDir>
 
pub fn tempdir(&self) -> Result<TempDir>
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()?;sourcepub fn tempdir_in<P: AsRef<Path>>(&self, dir: P) -> Result<TempDir>
 
pub fn tempdir_in<P: AsRef<Path>>(&self, dir: P) -> Result<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> Eq for Builder<'a, 'b>
impl<'a, 'b> StructuralEq for Builder<'a, 'b>
impl<'a, 'b> StructuralPartialEq for Builder<'a, 'b>
Auto Trait Implementations
impl<'a, 'b> RefUnwindSafe for Builder<'a, 'b>
impl<'a, 'b> Send for Builder<'a, 'b>
impl<'a, 'b> Sync for Builder<'a, 'b>
impl<'a, 'b> Unpin for Builder<'a, 'b>
impl<'a, 'b> UnwindSafe for Builder<'a, 'b>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
    T: ?Sized, 
 
impl<T> BorrowMut<T> for T where
    T: ?Sized, 
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
