7 个版本 (破坏性)

0.6.0 2019 年 2 月 14 日
0.5.0 2019 年 2 月 14 日
0.4.0 2019 年 2 月 13 日
0.3.0 2019 年 2 月 7 日
0.1.1 2019 年 2 月 5 日

文件系统 中排名 932

Download history 46/week @ 2024-03-11 25/week @ 2024-03-18 16/week @ 2024-03-25 40/week @ 2024-04-01 8/week @ 2024-04-08 15/week @ 2024-04-15 17/week @ 2024-04-22 8/week @ 2024-04-29 9/week @ 2024-05-06 18/week @ 2024-05-13 10/week @ 2024-05-20 13/week @ 2024-05-27 16/week @ 2024-06-03 8/week @ 2024-06-10 8/week @ 2024-06-17 19/week @ 2024-06-24

每月下载 53
4 Crates 中使用 4 (直接)

MIT/Apache

14KB
263

buffered_offset_reader

Build Status Documentation

Rust crate 用于在任意偏移量处缓冲读取文件。

在 Unix 上使用 std::os::unix::fs::FileExt::read_at()(即 pread())或在 Windows 上使用 std::os::windows::fs::FileExt::seek_read() 进行线程安全的文件读取。

示例

use buffered_offset_reader::{BufOffsetReader, OffsetReadMut};
use std::fs::File;

fn main() -> std::io::Result<()> {
    let f = File::open("log.txt")?;
    let mut reader = BufOffsetReader::new(f);
    let mut tmp = vec![0; 8];

    reader.read_at(&mut tmp, 0)?;  // read 8 bytes at offset 0

	// This read will be fulfilled by the reader's internal buffer,
	// so it won't require a system call.
    reader.read_at(&mut tmp, 32)?; // read 8 bytes at offset 32

    Ok(())
}

无运行时依赖