使用 camlzip 压缩单个文件

任务

压缩 / 使用 GZIP 压缩单个文件

使用的 Opam 包

  • camlzip 测试版本: 1.11 — 使用的库: camlzip

代码

我们打开两个文件(sourceIn_channel.open_bindestGzip.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

配方不起作用?评论不清楚或过时了?

打开一个问题 或者 为这个配方贡献代码