2 个不稳定版本
0.1.0 | 2023年2月1日 |
---|---|
0.0.2 | 2023年1月31日 |
#451 in 压缩
13KB
238 代码行
path-with-zip
Rust 中 PathBuf 的扩展版本。
以下示例假设在可执行程序文件所在的同一目录中有一个 'test.zip' 文件。
('test.zip' 的根) |---test(文件夹) |---test.txt(文件)
示例:读取 zip 归档中的文件
use path_with_zip::PathBufWithZip;
let path = "test.zip///test/test.txt";
// The error type is zip::result::ZipError, which includes std::io::Error.
let bytes: Vec<u8> = PathBufWithZip::from(path).read_bytes_directly().unwrap();
另一种方式
use path_with_zip::PathBufWithZip;
let path = "test.zip///test/test.txt";
let pathbuf_with_zip = PathBufWithZip::from(path);
let mut zip_archive = pathbuf_with_zip.open_archive().unwrap();
// OR
// let mut zip_archive = pathbuf_with_zip.open_archive_into_memory().unwrap();
let bytes: Vec<u8> = pathbuf_with_zip.read_bytes(Some(&mut zip_archive)).unwrap();
示例:像使用 PathBuf 一样读取文件
use path_with_zip::PathBufWithZip;
let path = "test.zip";
let bytes: Vec<u8> = PathBufWithZip::from(path).read_bytes_directly().unwrap();
另一种方式
use path_with_zip::PathBufWithZip;
let path = "test.zip";
let pathbuf_with_zip = PathBufWithZip::from(path);
let bytes: Vec<u8> = pathbuf_with_zip.read_bytes(None).unwrap();
依赖项
~5MB
~82K SLoC