8 个不稳定版本 (3 个破坏性更新)
0.5.3 | 2024年1月4日 |
---|---|
0.5.2 | 2023年12月30日 |
0.4.1 | 2023年12月14日 |
0.3.1 | 2023年11月22日 |
0.2.0 | 2023年11月22日 |
在 文件系统 中排名第 622
每月下载量 79 次
32KB
477 行
FsMeta
此 crate 提供了以异步方式遍历目录的能力。结果是目录的元数据,目前包括
- 获取目录的总大小(字节数)
- 获取文件大小
- 以人类可读的格式(B、KiB、MiB 等)格式化文件和目录大小
- 获取所有目录
- 获取所有文件
- 获取创建、评估和修改时间戳(Tai64N,单调,无闰秒)
- 获取创建、评估和修改时间戳(本地时间,24小时/12小时格式)
- 根据持续时间格式化时间戳
- 获取文件格式,例如 PDF 或纯文本
- 返回当前目录中的所有文件和目录以及发生的任何错误,而不仅仅是当遇到错误时返回错误(如
fs::read_dir()
) - 在适用的情况下使用并行性(待办事项)
示例
[dependencies]
dir-meta = {version = "*", default-features = false} #deactivate methods for converting timestamps to human readable formats in local time setting `default-features` to `false`
smol::block_on(async {
// Read a directory
let outcome = dir_meta::DirMetadata::new("src").dir_metadata().await.unwrap();
dbg!(&outcome);
// Get size of directory formatted as human readable
dbg!(outcome.size_formatted());
// Iterate over the files
for file in outcome.files() {
dbg!(&file.name()); //Get file name
dbg!(&file.accessed_24hr()); // Get last accessed time in 24 hour format
dbg!(file.accessed_am_pm()); //Get last accessed time in 12 hour format
dbg!(&file.accessed_humatime()); //Get last accessed time based on duration since current time
dbg!(&file.created_24hr()); //Get last created time in 24 hour format
dbg!(&file.created_am_pm()); //Get last created time in 24 hour format
dbg!(&file.created_humatime()); //Get last created time based on duration since current time
dbg!(&file.modified_24hr()); //Get last modified time in 24 hour format
dbg!(&file.modified_am_pm()); //Get last modified time in 24 hour format
dbg!(&file.modified_humatime()); //Get last modified time based on duration since current time
dbg!(file.formatted_size()); // Get the size of the file in human formatted size
dbg!(file.file_format()); // Get the format of the file eg (PDF)
}
})
许可证
代码受 Apache-2.0 许可证许可
行为准则
所有贡献都必须遵守 Rust 基金会 Rust 行为准则中的规则
依赖项
~4–14MB
~171K SLoC