使用 camlzip 解壓縮以 GZIP 壓縮的單一檔案

任務

壓縮 / 解壓縮以 GZIP 壓縮的單一檔案

使用的 Opam 套件

  • camlzip 測試版本:1.11 — 使用的程式庫:camlzip

程式碼

若要使用 camlzipGzip 模組解壓縮單一檔案,我們開啟兩個檔案 (使用 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

食譜無法運作?註解不清楚或過時?

開啟一個議題貢獻此食譜