diff options
Diffstat (limited to 'vendor/tempdir/README.md')
-rw-r--r-- | vendor/tempdir/README.md | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/vendor/tempdir/README.md b/vendor/tempdir/README.md new file mode 100644 index 0000000..dd81db0 --- /dev/null +++ b/vendor/tempdir/README.md @@ -0,0 +1,62 @@ +tempdir +======= + +A Rust library for creating a temporary directory and deleting its entire +contents when the directory is dropped. + +[![Build Status](https://travis-ci.org/rust-lang-nursery/tempdir.svg?branch=master)](https://travis-ci.org/rust-lang-nursery/tempdir) +[![Build status](https://ci.appveyor.com/api/projects/status/2mp24396db5t4hul/branch/master?svg=true)](https://ci.appveyor.com/project/rust-lang-libs/tempdir/branch/master) + +[Documentation](https://doc.rust-lang.org/tempdir) + +## Deprecation Note + +The `tempdir` crate is being merged into [`tempfile`](https://github.com/Stebalien/tempfile). Please see [this issue](https://github.com/Stebalien/tempfile/issues/43) to track progress and direct new issues and pull requests to `tempfile`. + +## Usage + +Add this to your `Cargo.toml`: + +```toml +[dependencies] +tempdir = "0.3" +``` + +and this to your crate root: + +```rust +extern crate tempdir; +``` + +## Example + +This sample method does the following: + +1. Create a temporary directory in the default location with the given prefix. +2. Determine a file path in the directory and print it out. +3. Create a file inside the temp folder. +4. Write to the file and sync it to disk. +5. Close the directory, deleting the contents in the process. + +```rust +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. |