8 个版本
使用旧的 Rust 2015
0.3.3 | 2023 年 11 月 1 日 |
---|---|
0.3.2 | 2023 年 8 月 19 日 |
0.3.1 | 2022 年 11 月 3 日 |
0.3.0 | 2022 年 8 月 27 日 |
0.1.0 | 2016 年 7 月 6 日 |
#54 in 文件系统
11,990 每月下载次数
在 71 个 Crates 中使用 (直接使用 20 个)
490KB
1K SLoC
positioned-io
这个 crate 允许您为读写指定偏移量,而不会更改文件中的当前位置。这与 C 中的 pread()
和 pwrite()
类似。
此类 I/O 的主要优点是
- 在进行随机访问读或写之前无需查找,这很方便。
- 读取不会更改文件,因此不需要可变性。
示例
读取文件的第五个 512 字节扇区
use std::fs::File;
use positioned_io::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-io 在 MIT 许可证 下授权。