8 个版本 (5 个稳定版)
1.2.0 | 2024年5月17日 |
---|---|
1.1.2 | 2024年4月30日 |
0.1.2 | 2024年4月10日 |
#298 in 文件系统
每月下载量 417
用于 4 crates
110KB
3K SLoC
kxio
提供可注入的文件系统和网络资源,使代码更易于测试。
文件系统
有两种文件系统实现:[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