使用 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