Awesome
tempdir
A Rust library for creating a temporary directory and deleting its entire contents when the directory is dropped.
Deprecation Note
The tempdir
crate is being merged into tempfile
and is available in 3.x
. Please direct new issues and pull requests to tempfile
.
Usage
Add this to your Cargo.toml
:
[dependencies]
tempdir = "0.3"
and this to your crate root:
extern crate tempdir;
Example
This sample method does the following:
- Create a temporary directory in the default location with the given prefix.
- Determine a file path in the directory and print it out.
- Create a file inside the temp folder.
- Write to the file and sync it to disk.
- Close the directory, deleting the contents in the process.
use std::io::{self, Write};
use std::fs::File;
use tempdir::TempDir;
fn write_temp_folder_with_files() -> io::Result<()> {
let dir = TempDir::new("my_directory_prefix")?;
let file_path = dir.path().join("foo.txt");
println!("{:?}", file_path);
let mut f = File::create(file_path)?;
f.write_all(b"Hello, world!")?;
f.sync_all()?;
dir.close()?;
Ok(())
}
Note: Closing the directory is actually optional, as it would be done on drop. The benefit of closing here is that it allows possible errors to be handled.