rust-lang-nursery/tempdir

Name: tempdir

Owner: rust-lang-nursery

Description: Temporary directory management for Rust

Created: 2015-03-05 18:16:06.0

Updated: 2018-05-05 14:55:54.0

Pushed: 2018-05-18 16:37:56.0

Homepage: http://doc.rust-lang.org/tempdir

Size: 594

Language: Rust

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

tempdir

A Rust library for creating a temporary directory and deleting its entire contents when the directory is dropped.

Build Status Build status

Documentation

Deprecation Note

The tempdir crate is being merged into tempfile and is available in 3.x. Please direct new issues and pull requests to tempfile.

Usage

Add this to your Cargo.toml:

endencies]
dir = "0.3"

and this to your crate root:

rn 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.
std::io::{self, Write};
std::fs::File;
tempdir::TempDir;

rite_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.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.