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