#directory #fs #devtool

ez_fs

标准库之上的文件系统简化库

1 个不稳定版本

0.1.0 2023年8月8日

#962 in 文件系统

MIT/Apache

19KB
296

ez_fs

ez_fs 是一个Rust库,它提供了方便的抽象来处理文件和目录。它通过提供易于使用的接口和工具,旨在简化常见的文件和目录操作。

特性

  • std::fs 类型的包装,提供了一个简化且更直观的API。
  • 具有缓存和遍历子目录能力的懒加载目录表示。
  • 将目录扁平化为文件向量,以便于遍历和处理。

ez_fs 旨在简化大多数用例;如果您需要更多特定功能,应回退到 std::fs 模块。所有内容都以前缀 "Ez" 开头,以确保在使用 ez_fsstd::fs 时清晰无误。

入门指南

读取/写入文件

//open file in write-only mode
let mut file = EzFile::create("foo.txt").unwrap();
file.write_all(b"bar").unwrap();

//change to read-only
file.to_read().unwrap();

let mut buf = String::new();
file.read_to_string(&mut buf).unwrap();
assert_eq!(buf, "bar");

收集目录

//open an existing directory
let dir = EzDir::new(".", true).unwrap();

//recursively can subdirectories and collect all files
let files = dir.flatten_all();
for file in files {
    println!("{file}")
}

贡献

ez_fs 是由于我个人的挫败感而创建的。我选择忽略某些方面,例如符号链接。我的代码当然并不完美,所以欢迎您提交问题或PR!

无运行时依赖