2 个版本
使用旧的 Rust 2015
0.3.4 | 2022 年 7 月 12 日 |
---|---|
0.3.3 | 2022 年 7 月 12 日 |
#1359 in 文件系统
1,143 每月下载量
用于 bootsector
490KB
1K SLoC
positioned-io2
此 crate 允许您指定读取和写入的偏移量,而不改变文件中的当前位置。这与 C 中的 pread()
和 pwrite()
类似。
此类 I/O 的主要优点是
- 在进行随机访问读取或写入之前不需要搜索,这很方便。
- 读取不会修改文件,因此不需要可变性。
分支
这是 positioned-io 的分支,该库似乎已经不再维护。
示例
读取文件的第五个 512 字节扇区
use std::fs::File;
use positioned_io2::ReadAt;
// note that file does not need to be mut
let file = File::open("tests/pi.txt")?;
// read up to 512 bytes
let mut buf = [0; 512];
let bytes_read = file.read_at(2048, &mut buf)?;
注意:如果可能,请使用 RandomAccessFile
包装器。在 Windows 上,直接在 File
上使用 ReadAt
非常慢。
许可证
positioned-io2 在 MIT 许可证 下发布。