使用 camlzip 解压缩单个 GZIP 压缩文件
任务
压缩 / 解压缩单个 GZIP 压缩文件
使用的 Opam 包
- camlzip 测试版本:1.11 — 使用的库:camlzip
代码
要使用 camlzip
中的 Gzip 模块解压缩单个文件,我们打开两个文件(使用 Gzip.open_in
打开 source
,使用 Out_channel.open_bin
打开 dest
),并通过字节缓冲区传输字节。
let buffer_size = 4096
let gunzip source dest =
let gz_file = Gzip.open_in source in
let buffer = Bytes.make buffer_size '*' in
let oc = Out_channel.open_bin dest in
let rec aux () =
let len = Gzip.input gz_file buffer 0 buffer_size in
if len <> 0 then
begin
Out_channel.output oc buffer 0 len;
aux ()
end
in
aux ();
Gzip.close_in gz_file;
Out_channel.close oc