#temp-dir #async #temp

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

#1238 in Filesystem

Download history 223/week @ 2024-07-20 192/week @ 2024-07-27 93/week @ 2024-08-03 221/week @ 2024-08-10 195/week @ 2024-08-17 190/week @ 2024-08-24 172/week @ 2024-08-31 154/week @ 2024-09-07 215/week @ 2024-09-14 188/week @ 2024-09-21 497/week @ 2024-09-28 622/week @ 2024-10-05 309/week @ 2024-10-12 250/week @ 2024-10-19 205/week @ 2024-10-26 1227/week @ 2024-11-02

2,076 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–9MB
~71K SLoC