vmm_sys_util::tempfile

Struct TempFile

Source
pub struct TempFile { /* private fields */ }
Expand description

Wrapper for working with temporary files.

The file will be maintained for the lifetime of the TempFile object.

Implementations§

Source§

impl TempFile

Source

pub fn new_with_prefix<P: AsRef<OsStr>>(prefix: P) -> Result<TempFile>

Creates the TempFile using a prefix.

§Arguments

prefix: The path and filename where to create the temporary file. Six random alphanumeric characters will be added to the end of this to form the filename.

Source

pub fn new_in(path: &Path) -> Result<Self>

Creates the TempFile inside a specific location.

§Arguments

path: The path where to create a temporary file with a filename formed from six random alphanumeric characters.

Source

pub fn new() -> Result<Self>

Creates the TempFile.

Creates a temporary file inside $TMPDIR if set, otherwise inside /tmp. The filename will consist of six random alphanumeric characters.

Source

pub fn remove(&mut self) -> Result<()>

Removes the temporary file.

Calling this is optional as dropping a TempFile object will also remove the file. Calling remove explicitly allows for better error handling.

Source

pub fn as_path(&self) -> &Path

Returns the path to the file if the TempFile object that is wrapping the file is still in scope.

If we remove the file by explicitly calling remove, as_path() can still be used to return the path to that file (even though that path does not point at an existing entity anymore). Calling as_path() after remove() is useful, for example, when you need a random path string, but don’t want an actual resource at that path.

Source

pub fn as_file(&self) -> &File

Returns a reference to the File.

Source

pub fn into_file(self) -> File

Consumes the TempFile, returning the wrapped file.

This also removes the file from the system. The file descriptor remains opened and it can be used until the returned file is dropped.

Trait Implementations§

Source§

impl Debug for TempFile

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Drop for TempFile

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.