6个版本 (1个稳定版)

1.0.0 2024年5月18日
0.4.0 2018年4月29日
0.3.0 2017年8月3日
0.2.0 2017年5月20日
0.1.0 2016年1月31日

#121 in 异步

Download history 2487/week @ 2024-05-04 1222/week @ 2024-05-11 1613/week @ 2024-05-18 2538/week @ 2024-05-25 589/week @ 2024-06-01 435/week @ 2024-06-08 336/week @ 2024-06-15 416/week @ 2024-06-22 391/week @ 2024-06-29 403/week @ 2024-07-06 482/week @ 2024-07-13 519/week @ 2024-07-20 692/week @ 2024-07-27 715/week @ 2024-08-03 834/week @ 2024-08-10 428/week @ 2024-08-17

2,726 每月下载量
16 Crates中使用 (13个直接使用)

Apache-2.0

26KB
345 行代码

Filebuffer

Rust的快速且简单的文件读取。

Crates.io version Changelog Documentation

Filebuffer可以将文件映射到内存中。这通常比使用std::io中的原语更快,也更方便。此外,这个crate还提供了预取和检查文件数据是否驻留在物理内存中的功能(因此访问不会引起页面错误)。这使非阻塞文件读取成为可能。

示例

以下是一个实现sha256sum程序的示例,它比使用std::io的简单实现更快、更简单。(请参阅示例目录中的sha256sum_filebuffersha256sum_naive。)

use std::env;
use crypto::digest::Digest;
use crypto::sha2::Sha256;
use filebuffer::FileBuffer;

extern crate crypto;
extern crate filebuffer;

fn main() {
    for fname in env::args().skip(1) {
        let fbuffer = FileBuffer::open(&fname).expect("failed to open file");
        let mut hasher = Sha256::new();
        hasher.input(&fbuffer);
        println!("{}  {}", hasher.result_str(), fname);
    }
}

许可证

Filebuffer遵循Apache 2.0许可证。它可以在免费软件和闭源应用程序中使用,无论是商业用途还是非商业用途,只要符合许可证中给出的条件。如果您想在您的GPLv2许可证的软件中使用Filebuffer,您可以在版权声明中添加一个例外

依赖项

~215KB