1 个不稳定版本
0.1.0 | 2023年8月8日 |
---|
#962 in 文件系统
19KB
296 行
ez_fs
ez_fs
是一个Rust库,它提供了方便的抽象来处理文件和目录。它通过提供易于使用的接口和工具,旨在简化常见的文件和目录操作。
特性
- 对
std::fs
类型的包装,提供了一个简化且更直观的API。 - 具有缓存和遍历子目录能力的懒加载目录表示。
- 将目录扁平化为文件向量,以便于遍历和处理。
ez_fs
旨在简化大多数用例;如果您需要更多特定功能,应回退到 std::fs
模块。所有内容都以前缀 "Ez" 开头,以确保在使用 ez_fs
和 std::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!