2 个版本

使用旧的 Rust 2015

0.3.4 2022 年 7 月 12 日
0.3.3 2022 年 7 月 12 日

#1359 in 文件系统

Download history 295/week @ 2024-03-13 250/week @ 2024-03-20 103/week @ 2024-03-27 232/week @ 2024-04-03 43/week @ 2024-04-10 113/week @ 2024-04-17 193/week @ 2024-04-24 149/week @ 2024-05-01 104/week @ 2024-05-08 207/week @ 2024-05-15 171/week @ 2024-05-22 229/week @ 2024-05-29 64/week @ 2024-06-05 278/week @ 2024-06-12 354/week @ 2024-06-19 436/week @ 2024-06-26

1,143 每月下载量
用于 bootsector

MIT 许可证

490KB
1K SLoC

positioned-io2

此 crate 允许您指定读取和写入的偏移量,而不改变文件中的当前位置。这与 C 中的 pread()pwrite() 类似。

此类 I/O 的主要优点是

  • 在进行随机访问读取或写入之前不需要搜索,这很方便。
  • 读取不会修改文件,因此不需要可变性。

Crates.io Documentation

分支

这是 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 许可证 下发布。

依赖项