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 个)

MIT/Apache

38KB
879

simple-fs

simple-fs 是一个 crate,它提供了一组在 std::fswalkdirglobset 上构建的便捷且常用的文件 API。

Cargo 功能

功能 包含的函数
with-json load_jsonsave_jsonsave_json_pretty
with-toml load_tomlsave_toml
bin-nums save_be_f64load_be_f64save_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::fswalkdirglobset 等crate。

这是一个非常早期的实现,未来还将有更多功能。

编码愉快!

依赖项

~5–17MB
~182K SLoC