4 个版本 (2 个破坏性更改)
0.3.1 | 2023年7月14日 |
---|---|
0.3.0 | 2021年5月18日 |
0.2.0 | 2020年3月15日 |
0.1.0 | 2020年1月9日 |
#62 在 解析器实现
90,033 每月下载量
用于 45 个 crate (27 直接)
150KB
3K SLoC
tokio-tar
异步 Rust 的 tar 归档读写库。
基于优秀的 tar-rs。
读取归档
use tokio::io::stdin;
use tokio::prelude::*;
use tokio_tar::Archive;
fn main() {
tokio::runtime::Runtime::new().unwrap().block_on(async {
let mut ar = Archive::new(stdin());
let mut entries = ar.entries().unwrap();
while let Some(file) = entries.next().await {
let f = file.unwrap();
println!("{}", f.path().unwrap().display());
}
});
}
写入归档
use tokio::fs::File;
use tokio_tar::Builder;
fn main() {
tokio::runtime::Runtime::new().unwrap().block_on(async {
let file = File::create("foo.tar").await.unwrap();
let mut a = Builder::new(file);
a.append_path("README.md").await.unwrap();
a.append_file("lib.rs", &mut File::open("src/lib.rs").await.unwrap())
.await
.unwrap();
});
}
许可证
本项目受以下许可证之一授权:
- Apache 许可证 2.0 版 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
您可选择其中之一。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义,您有意提交的任何贡献,均应按上述方式双重许可,无需任何额外条款或条件。
依赖关系
~4–13MB
~160K SLoC