#create #disk #write #memory #path #file-structure #sloppily

filestructure-rs

Rust 库,用于在内存中随意创建文件结构并将其写入磁盘

1 个不稳定版本

0.1.0 2024 年 8 月 4 日

#507文件系统

Download history 62/week @ 2024-07-29 43/week @ 2024-08-05

105 每月下载

MIT 许可证

23KB
419

filestructure-rs

一个库,用于在内存中随意向文件结构添加数据,并在需要时将其写入磁盘。

使用方法

内部的 FileStructure 实际上是一个经典 Unix 风格文件树的链表。首先,我们可以使用 FileStructure::default 实现来构造我们的主空结构(这将为您提供一个没有名称的空目录),或者使用 FileStructure::from_path,它接受一个 Unix 风格的路径并创建一个模仿它的结构。

let mut fs = FileStructure::from_path("/some/path") // This creates a filestructure with a root node, a subdir of the root called 'some' and a subdir of 'some' called 'path'.
let mut new = fs.insert_dir("/some/other") // We now add a new subdirectory of 'some' called 'other' and return a handle to it.
new.insert_string("hello.txt", String::from("world")) // Create a new file /some/other/hello.txt with the string 'world' in it.
new.insert_blob("data.obj", Box::new([0,0,0,0])) // Create a new binary file /some/other/data.obj with some byte data.
fs.write_to_disk("./") // Write this file structure to disk starting from our CWD.

此外,如果您启用了 tokenstream2 功能标志,您可以使用 insert_tokenstreamproc_macro2::TokenStream 添加到结构中。有关如何使用它的文档。

如果您在任何时候失去了对文件系统某个点的句柄,您可以使用 fs.get("/handle/to/find") 来搜索结构并获取匹配节点的引用(或使用 get_mut 获取可变引用)。

依赖项

~225KB