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 异步
2,726 每月下载量
在 16 个 Crates中使用 (13个直接使用)
26KB
345 行代码
Filebuffer
Rust的快速且简单的文件读取。
Filebuffer可以将文件映射到内存中。这通常比使用std::io
中的原语更快,也更方便。此外,这个crate还提供了预取和检查文件数据是否驻留在物理内存中的功能(因此访问不会引起页面错误)。这使非阻塞文件读取成为可能。
示例
以下是一个实现sha256sum程序的示例,它比使用std::io
的简单实现更快、更简单。(请参阅示例目录中的sha256sum_filebuffer
和sha256sum_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