mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-19 16:25:38 +00:00
df1813484d
Differential Revision: https://phabricator.services.mozilla.com/D28279 --HG-- rename : third_party/rust/tempdir/LICENSE-APACHE => third_party/rust/remove_dir_all/LICENCE-APACHE rename : third_party/rust/tempdir/LICENSE-MIT => third_party/rust/remove_dir_all/LICENCE-MIT rename : third_party/rust/tempdir/LICENSE-APACHE => third_party/rust/tempfile/LICENSE-APACHE rename : third_party/rust/tempdir/LICENSE-MIT => third_party/rust/tempfile/LICENSE-MIT rename : third_party/rust/tempdir/tests/smoke.rs => third_party/rust/tempfile/tests/tempdir.rs extra : moz-landing-system : lando |
||
---|---|---|
.. | ||
src | ||
tests | ||
.cargo-checksum.json | ||
appveyor.yml | ||
Cargo.toml | ||
LICENSE-APACHE | ||
LICENSE-MIT | ||
NEWS | ||
README.md |
tempfile
A secure, cross-platform, temporary file library for Rust. In addition to creating temporary files, this library also allows users to securely open multiple independent references to the same temporary file (useful for consumer/producer patterns and surprisingly difficult to implement securely).
Usage
Minimum required Rust version: 1.18.0
Add this to your Cargo.toml
:
[dependencies]
tempfile = "3"
...and this to your crate root:
extern crate tempfile;
Example
extern crate tempfile;
use std::fs::File;
use std::io::{Write, Read, Seek, SeekFrom};
fn main() {
// Write
let mut tmpfile: File = tempfile::tempfile().unwrap();
write!(tmpfile, "Hello World!").unwrap();
// Seek to start
tmpfile.seek(SeekFrom::Start(0)).unwrap();
// Read
let mut buf = String::new();
tmpfile.read_to_string(&mut buf).unwrap();
assert_eq!("Hello World!", buf);
}