9 个版本
0.1.3 | 2024 年 3 月 9 日 |
---|---|
0.1.2 | 2024 年 1 月 23 日 |
0.0.5 | 2024 年 1 月 3 日 |
0.0.4 | 2023 年 12 月 31 日 |
#394 in 文件系统
43 每月下载量
用于 3 个 Crates(直接使用 2 个)
38KB
879 行
simple-fs
simple-fs 是一个 crate,它提供了一组在 std::fs
、walkdir 和 globset 上构建的便捷且常用的文件 API。
Cargo 功能
功能 | 包含的函数 |
---|---|
with-json |
load_json 、save_json 、save_json_pretty |
with-toml |
load_toml 、save_toml |
bin-nums |
save_be_f64 、load_be_f64 、save_le_f64 、... |
full |
所有以上功能。 |
default | 以上皆无。详见下文。 |
概念
simple-fs
假设路径如果不是 utf8
则不可见 API,这简化了许多路径相关的 API。
遵循此假设的两个构造是(两者都是 PathBuf 的包装,带有一些保证)
-
SPath
,确保包含的路径是有效的 UTF-8 路径,并包含一个文件名。 -
SFile
,与SPath
具有相同的保证,但还检查文件在SFile
构造时是否存在,确认文件的存在。
通过建立这些规则,如 .file_name()
、.file_stem()
和 .to_str()
这样的 API 就变得更加简单,因为它们都返回 &str
。
该 crate 还包括其他便捷、常用的 API
read_to_string
,如果未找到文件则报告文件路径。get_buf_reader
,当找不到文件或发生错误时,也会报告文件路径。iter_files(dir,include_globs: &[&str],exclude_globs: &[&str]) -> Result<impl Iter SFile>
list_files(..sameasiter_files..) -> Result<Vec<SFile>>
ensure_dir(dir_path)
,ensure_file_dir(file_path)
- 有关功能,请参阅上文。
为了获得更多控制,建议直接使用 std::fs
,walkdir
,globset
等crate。
这是一个非常早期的实现,未来还将有更多功能。
编码愉快!
依赖项
~5–17MB
~182K SLoC