#temp-dir #temp #async

tmpdir

Useful to create temp directories and copy their contents on completion of some action. Tmp dirs will be created using [env::temp_dir] with some random characters prefixed to prevent a name clash

1 stable release

1.0.0 Feb 24, 2023

#1142 in Filesystem

Download history 23/week @ 2023-12-11 7/week @ 2023-12-18 12/week @ 2023-12-25 62/week @ 2024-01-01 8/week @ 2024-01-08 18/week @ 2024-01-15 31/week @ 2024-01-22 30/week @ 2024-01-29 3/week @ 2024-02-05 55/week @ 2024-02-12 70/week @ 2024-02-19 131/week @ 2024-02-26 147/week @ 2024-03-04 193/week @ 2024-03-11 98/week @ 2024-03-18 288/week @ 2024-03-25

730 downloads per month
Used in 3 crates

MIT license

12KB
164 lines

TmpDir

Useful to create temp directories and copying their contents on completion of some action. Tmp dirs will be created using env::temp_dir with some random characters prefixed to prevent a name clash

copy will traverse recursively through a directory and copy all file contents to some destination dir. It will not follow symlinks.

Example

use tmpdir::TmpDir;
use tokio::{fs, io::AsyncWriteExt};

let tmp = TmpDir::new("foo").await.unwrap();
let new_tmp = TmpDir::new("bar").await.unwrap();

new_tmp.copy(tmp.as_ref()).await;
new_tmp.close().await; // not necessary to explicitly call

lib.rs:

TmpDir

Useful to create temp directories and copying their contents on completion of some action. Tmp dirs will be created using env::temp_dir with some random characters prefixed to prevent a name clash

copy will traverse recursively through a directory and copy all file contents to some destination dir. It will not follow symlinks.

Example

use tmpdir::TmpDir;
use tokio::{fs, io::AsyncWriteExt};

let new_tmp = TmpDir::new("bar").await.unwrap();
new_tmp.copy(tmp.as_ref()).await;
new_tmp.close().await; // not necessary to explicitly call

Dependencies

~3–4.5MB
~71K SLoC