Crates.io | file_tree |
lib.rs | file_tree |
version | 0.1.1 |
source | src |
created_at | 2018-06-25 22:17:22.647101 |
updated_at | 2019-07-03 20:00:32.713473 |
description | Creates a directory structure suitable for storing large numbers of files, and optionally deletes the created directory and files when dropped. |
homepage | |
repository | https://github.com/pnnl/file_tree |
max_upload_size | |
id | 71703 |
size | 20,449 |
Creates and manages a directory structure suitable for storing large numbers of files (up to 1 trillion).
Add this to your Cargo.toml
:
[dependencies]
file_tree = "0.1.1"
Use FileTree::new(false)
to create a temporary structure that will be deleted
when the created struct is dropped.
Calls to get_new_file()
will generate a new PathBuf
. The parent directory will exist, but get_new_file()
will not actually create the file.
Use get_root()
to retrieve the base path for the created directory structure.
extern crate file_tree;
use file_tree::FileTree;
fn main() {
let mut file_tree = FileTree::new(false).unwrap();
let writeable_path = file_tree.get_new_file().unwrap();
assert_eq!(
writeable_path,
file_tree.get_root().join("000/000/000/000000000000")
);
let writeable_path_2 = file_tree.get_new_file().unwrap();
assert_eq!(
writeable_path_2,
file_tree.get_root().join("000/000/000/000000000001")
);
}