The tempdir
crate is being merged into tempfile
. Please see this issue to track progress and direct new issues and pull requests to tempfile
.
Add this to your Cargo.toml
:
[dependencies] tempdir = "0.3"
and this to your crate root:
extern crate tempdir;
This sample method does the following:
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.