4 releases (breaking)
0.4.0 | Jun 16, 2023 |
---|---|
0.3.0 | Jun 12, 2023 |
0.2.0 | Oct 22, 2022 |
0.1.0 | Oct 22, 2022 |
#429 in Filesystem
1,680 downloads per month
Used in shared-files
21KB
257 lines
async-tempfile
Provides the TempFile
struct, an asynchronous wrapper based on tokio::fs
for temporary files that will be automatically deleted when the last reference to
the struct is dropped.
use async_tempfile::TempFile;
#[tokio::main]
async fn main() {
let parent = TempFile::new().await.unwrap();
// The cloned reference will not delete the file when dropped.
{
let nested = parent.open_rw().await.unwrap();
assert_eq!(nested.file_path(), parent.file_path());
assert!(nested.file_path().is_file());
}
// The file still exists; it will be deleted when `parent` is dropped.
assert!(parent.file_path().is_file());
}
lib.rs
:
async-tempfile
Provides the TempFile
struct, an asynchronous wrapper based on tokio::fs
for temporary
files that will be automatically deleted when the last reference to the struct is dropped.
use async_tempfile::TempFile;
#[tokio::main]
async fn main() {
let parent = TempFile::new().await.unwrap();
// The cloned reference will not delete the file when dropped.
{
let nested = parent.open_rw().await.unwrap();
assert_eq!(nested.file_path(), parent.file_path());
assert!(nested.file_path().is_file());
}
// The file still exists; it will be deleted when `parent` is dropped.
assert!(parent.file_path().is_file());
}
Features
uuid
- (Default) Enables random file name generation based on theuuid
crate. Provides thenew
andnew_in
, as well as thenew_with_uuid*
group of methods.
Dependencies
~3.5MB
~56K SLoC