Struct tempfile::TempFile [] [src]

pub struct TempFile(_);

An unnamed temporary file.

This variant is secure/reliable in the presence of a pathological temporary file cleaner.

Deletion:

Linux >= 3.11: The temporary file is never linked into the filesystem so it can't be leaked.

Other *nix: The temporary file is immediately unlinked on create. The OS will delete it when the last open copy of it is closed (the last TempFile reference to it is dropped).

Windows: The temporary file is marked DeleteOnClose and, again, will be deleted when the last open copy of it is closed. Unlike *nix operating systems, the file is not immediately unlinked from the filesystem.

Methods

impl TempFile

fn new() -> Result<TempFile>

Create a new temporary file.

fn new_in<P: AsRef<Path>>(dir: P) -> Result<TempFile>

Create a new temporary file in the specified directory.

fn shared(count: usize) -> Result<Vec<TempFile>>

Create a new temporary file and open it count times returning count independent references to the same file.

This can be useful if you want multiple seek positions in the same temporary file. Additionally, this function guarantees that all of the returned temporary file objects refer to the same underlying temporary file even in the presence of a pathological temporary file cleaner.

fn shared_in<P: AsRef<Path>>(dir: P, count: usize) -> Result<Vec<TempFile>>

Same as shared but creates the file in the specified directory.

fn len(&self) -> Result<u64>

Number of bytes in the file.

fn set_len(&self, size: u64) -> Result<()>

Truncate the file to size bytes.

Trait Implementations

impl Debug for TempFile

fn fmt(&self, f: &mut Formatter) -> Result

impl Read for TempFile

fn read(&mut self, buf: &mut [u8]) -> Result<usize>

fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

fn by_ref(&mut self) -> &mut Self

fn bytes(self) -> Bytes<Self>

fn chars(self) -> Chars<Self>

fn chain<R>(self, next: R) -> Chain<Self, R> where R: Read

fn take(self, limit: u64) -> Take<Self>

fn tee<W>(self, out: W) -> Tee<Self, W> where W: Write

impl Write for TempFile

fn write(&mut self, buf: &[u8]) -> Result<usize>

fn flush(&mut self) -> Result<()>

fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>

fn by_ref(&mut self) -> &mut Self

fn broadcast<W>(self, other: W) -> Broadcast<Self, W> where W: Write

impl Seek for TempFile

fn seek(&mut self, pos: SeekFrom) -> Result<u64>

impl AsRawFd for TempFile

fn as_raw_fd(&self) -> RawFd