Expand description
temp-file
Provides a TempFile
struct.
Features
- Makes a file in a system temporary directory
- Deletes the file on drop
- Optional file name prefix
- Optional file contents
- Depends only on
std
forbid(unsafe_code)
- 100% test coverage
Limitations
- Not security-hardened. See
Secure Programming for Linux and Unix HOWTO - 7.10. Avoid Race Conditions
and
mkstemp
.
Alternatives
tempfile
- Popular and mature
- Supports some security-sensitive use cases
- Contains
unsafe
, dependencies full ofunsafe
- Heavy dependencies (libc, winapi, rand, etc.)
test-temp-file
- Depends on crates which contain
unsafe
- Incomplete documentation
- Depends on crates which contain
temp_file_name
- Does not delete file
- Usage is not straightforward. Missing example.
mktemp
- Sets file mode 0600 on unix
- Contains
unsafe
- No readme or online docs
Related Crates
Example
let t = temp_file::with_contents(b"abc");
// Prints "/tmp/1a9b0".
println!("{:?}", t.path());
assert_eq!(
"abc",
std::fs::read_to_string(t.path()).unwrap(),
);
// Prints "/tmp/1a9b1".
println!("{:?}", temp_file::empty().path());
Cargo Geiger Safety Report
Changelog
- v0.1.7 - Add
in_dir
,with_suffix
, andTempFileBuilder
. - v0.1.6
- Return
std::io::Error
instead ofString
. - Add
cleanup
.
- Return
- v0.1.5 - Increase test coverage
- v0.1.4 - Add
leak
andpanic_on_cleanup_error
. - v0.1.3 - Update docs
- v0.1.2 - Update example
- v0.1.1 - Minor code cleanup, update docs
- v0.1.0 - Initial version
Structs
The path of an existing writable file in a system temporary directory.
Functions
Create a new empty file in a system temporary directory.
Create a new file in a system temporary directory
and writes contents
to it.