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 文件系统

Download history 4632/week @ 2024-03-14 4058/week @ 2024-03-21 3338/week @ 2024-03-28 4484/week @ 2024-04-04 4913/week @ 2024-04-11 3945/week @ 2024-04-18 3471/week @ 2024-04-25 3051/week @ 2024-05-02 3204/week @ 2024-05-09 4013/week @ 2024-05-16 2344/week @ 2024-05-23 2663/week @ 2024-05-30 3141/week @ 2024-06-06 2908/week @ 2024-06-13 2956/week @ 2024-06-20 2372/week @ 2024-06-27

11,990 每月下载次数
71 个 Crates 中使用 (直接使用 20 个)

MIT 许可证

490KB
1K SLoC

positioned-io

这个 crate 允许您为读写指定偏移量,而不会更改文件中的当前位置。这与 C 中的 pread()pwrite() 类似。

此类 I/O 的主要优点是

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

Crates.io Documentation

示例

读取文件的第五个 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 非常慢。

文档

https://docs.rs/positioned-io

许可证

positioned-io 在 MIT 许可证 下授权。

依赖关系