file_tree 0.1.0

Creates a directory structure suitable for storing large numbers of files, and optionally deletes the created directory and files when dropped.
Documentation

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.0"

and this to your crate root:

extern crate file_tree;

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