3 个版本

0.2.2 2024 年 1 月 21 日
0.2.1 2024 年 1 月 20 日
0.2.0 2023 年 11 月 27 日
0.1.0 2023 年 11 月 27 日

533文件系统 中排名

Download history 4/week @ 2024-03-13 172/week @ 2024-03-20 8/week @ 2024-03-27 35/week @ 2024-04-03 10/week @ 2024-04-10 6/week @ 2024-04-17 4/week @ 2024-04-24 22/week @ 2024-05-01 44/week @ 2024-05-08 94/week @ 2024-05-15 109/week @ 2024-05-22 27/week @ 2024-05-29 58/week @ 2024-06-05 165/week @ 2024-06-12 154/week @ 2024-06-19 33/week @ 2024-06-26

每月 422 次下载
6 个 Crates 中使用(通过 sos-sdk

MIT/Apache

79KB
2K SLoC

虚拟文件系统。

API 设计与 tokio::fs 模块匹配,而该模块又基于 std::fs,因此 API 应该是熟悉的。

默认操作系统的 VFS 重新导出 tokio::fs 模块,提供对操作系统文件系统的访问。

使用内存 VFS 允许我们在代码仅做最小修改的情况下编译和针对 wasm32-unknown-unknown 平台。

对于 wasm32-unknown-unknown 或启用 mem-fs 功能时,默认启用内存文件系统。

内存 VFS 注意事项

相对路径从文件系统的根进行解析。

避免使用 PathBuf 函数如 exists()metadata()is_dir()is_file() 等,因为在使用虚拟文件系统时它们将是错误的。相反,请使用 vfs::metadata()vfs::try_exists() 异步函数。

SystemTime 类型在 wasm32-unknown-unknwown 上不可用,因此 Metadata 不支持该目标的 created()accessed()modified()

内存 VFS 不支持

此功能目前尚不支持,但我们希望在未来实现。

权限上的 readonly 标志目前尚不支持。

对于支持 SystemTime 的非 WebAssembly 目标,尚未设置创建、访问和修改时间。

目前尚不支持符号链接,这意味着以下函数不可用:hard_link()symlink()symlink_metadata()symlink_file()symlink_dir()

依赖关系

~1.4–9MB
~67K SLoC