#networking #injectable #resources #fs #testable #module

kxio

提供可注入的文件系统和网络资源,使代码更易于测试

8 个版本 (5 个稳定版)

1.2.0 2024年5月17日
1.1.2 2024年4月30日
0.1.2 2024年4月10日

#298 in 文件系统

Download history 461/week @ 2024-04-28 58/week @ 2024-05-05 268/week @ 2024-05-12 177/week @ 2024-05-19 70/week @ 2024-05-26 60/week @ 2024-06-02 72/week @ 2024-06-09 27/week @ 2024-06-16 46/week @ 2024-06-23 111/week @ 2024-06-30 44/week @ 2024-07-07 123/week @ 2024-07-14 67/week @ 2024-07-21 163/week @ 2024-07-28 170/week @ 2024-08-04 10/week @ 2024-08-11

每月下载量 417
用于 4 crates

MIT 许可证

110KB
3K SLoC

kxio

status-badge

提供可注入的文件系统和网络资源,使代码更易于测试。

文件系统

有两种文件系统实现:[filesystem] 和 [fs]。

  • [filesystem] 是旧版实现,将在未来版本中删除。
  • [fs] 是当前版本,旨在替代和扩展标准库中的 std::fs 模块。

std::fs 的替代方案

待办事项 std::fs kxio::fs::FileSystem
[ ] canonicalize path_canonicalize 返回路径的规范、绝对形式,其中所有中间组件都已归一化,符号链接已解析。
[ ] copy file_copy 将一个文件的全部内容复制到另一个文件。此函数还将原始文件的权限位复制到目标文件。
[ ] create_dir dir_create 在提供的路径创建一个新空目录
[ ] create_dir_all dir_create_all 递归创建目录及其所有父组件(如果它们不存在)。
[ ] hard_link link_create 在文件系统中创建一个新的硬链接。
[ ] metadata path_metadata 给定一个路径,查询文件系统以获取有关文件、目录等信息。
[ ] read file_read 将整个文件内容读取到字节向量中。
[ ] read_dir dir_read 返回目录内条目的迭代器。
[ ] read_link link_read 读取符号链接,返回链接指向的文件。
[x] read_to_string file_read_to_string 将整个文件内容读取到字符串中。
[ ] remove_dir dir_remove 删除空目录。
[ ] remove_dir_all dir_remove_all 删除此路径的目录,并在删除所有内容后删除。请谨慎使用!
[ ] remove_file file_remove 从文件系统中删除文件。
[ ] rename path_rename 重命名文件或目录到新名称,如果 to 已存在,则替换原始文件。
[ ] set_permissions path_set_permissions 更改文件或目录上的权限。
[ ] symlink_metadata link_metadata 查询文件元数据,不跟随符号链接。
[x] 写入 file_write 将切片作为文件的全部内容写入。

网络

整个[网络]模块需要完全重写。其使用被强烈建议不要使用。可能有一个新的[net]模块将取代它。

依赖项

~6–19MB
~298K SLoC