Securely create and manage temporary files. Temporary files created by this create are automatically deleted.
This crate provides two temporary file variants: a
tempfile() function that returns standard
File objects and
NamedTempFile. When choosing between the variants, prefer
unless you either need to know the file's path or to be able to persist it.
use tempfile::tempfile; use std::fs::File; let mut file: File = tempfile().expect("failed to create temporary file");
tempfile() will (almost) never fail to cleanup temporary files but
NamedTempFile will if
its destructor doesn't run. This is because
tempfile() relies on the OS to cleanup the
underlying file so the file while
NamedTempFile relies on its destructor to do so.
In the presence of pathological temporary file cleaner, relying on file paths is unsafe because a temporary file cleaner could delete the temporary file which an attacker could then replace.
tempfile() doesn't rely on file paths so this isn't an issue. However,
rely on file paths.
A named temporary file.
Create a new temporary file with custom parameters.
Error returned when persisting a temporary file fails
Create an unnamed temporary file.
Create an unnamed temporary file in the specified directory.