file_tree

Crates.iofile_tree
lib.rsfile_tree
version0.1.1
sourcesrc
created_at2018-06-25 22:17:22.647101
updated_at2019-07-03 20:00:32.713473
descriptionCreates a directory structure suitable for storing large numbers of files, and optionally deletes the created directory and files when dropped.
homepage
repositoryhttps://github.com/pnnl/file_tree
max_upload_size
id71703
size20,449
(aaronrphillips)

documentation

README

file_tree

Creates and manages a directory structure suitable for storing large numbers of files (up to 1 trillion).

Usage

Add this to your Cargo.toml:

[dependencies]
file_tree = "0.1.1"

Examples

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")
    );
}

Commit count: 8

cargo fmt