pub struct TempDir { /* private fields */ }
Expand description
The path of an existing writable directory in a system temporary directory.
Drop the struct to delete the directory and everything under it. Deletes symbolic links and does not follow them.
Ignores any error while deleting.
See TempDir::panic_on_cleanup_error
.
§Example
use temp_dir::TempDir;
let d = TempDir::new().unwrap();
// Prints "/tmp/t1a9b-0".
println!("{:?}", d.path());
let f = d.child("file1");
// Prints "/tmp/t1a9b-0/file1".
println!("{:?}", f);
std::fs::write(&f, b"abc").unwrap();
assert_eq!(
"abc",
std::fs::read_to_string(&f).unwrap(),
);
// Prints "/tmp/t1a9b-1".
println!("{:?}", TempDir::new().unwrap().path());
Implementations§
source§impl TempDir
impl TempDir
sourcepub fn new() -> Result<Self, Error>
pub fn new() -> Result<Self, Error>
Create a new empty directory in a system temporary directory.
Drop the struct to delete the directory and everything under it. Deletes symbolic links and does not follow them.
Ignores any error while deleting.
See TempDir::panic_on_cleanup_error
.
§Errors
Returns Err
when it fails to create the directory.
§Example
// Prints "/tmp/t1a9b-0".
println!("{:?}", temp_dir::TempDir::new().unwrap().path());
sourcepub fn with_prefix(prefix: impl AsRef<str>) -> Result<Self, Error>
pub fn with_prefix(prefix: impl AsRef<str>) -> Result<Self, Error>
Create a new empty directory in a system temporary directory.
Use prefix
as the first part of the directory’s name.
Drop the struct to delete the directory and everything under it. Deletes symbolic links and does not follow them.
Ignores any error while deleting.
See TempDir::panic_on_cleanup_error
.
§Errors
Returns Err
when it fails to create the directory.
§Example
// Prints "/tmp/ok1a9b-0".
println!("{:?}", temp_dir::TempDir::with_prefix("ok").unwrap().path());
sourcepub fn cleanup(self) -> Result<(), Error>
pub fn cleanup(self) -> Result<(), Error>
Remove the directory and its contents now.
§Errors
Returns an error if the directory exists and we fail to remove it and its contents.
sourcepub fn panic_on_cleanup_error(self) -> Self
pub fn panic_on_cleanup_error(self) -> Self
Make the struct panic on drop if it hits an error while removing the directory or its contents.
Trait Implementations§
source§impl Ord for TempDir
impl Ord for TempDir
source§impl PartialOrd for TempDir
impl PartialOrd for TempDir
impl Eq for TempDir
impl StructuralPartialEq for TempDir
Auto Trait Implementations§
impl Freeze for TempDir
impl RefUnwindSafe for TempDir
impl Send for TempDir
impl Sync for TempDir
impl Unpin for TempDir
impl UnwindSafe for TempDir
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)