Haskell: Mit GZip komprimieren und in Datei schreiben

Problem:

In Haskell möchtest du einen String gzip-komprimieren und in eine Datei schreiben.

Lösung

Wir verwenden dafür das Modul zlib. Möglicherweise musst du

install_zlib_cabal.sh
cabal install zlib

ausführen, falls du das noch nicht getan hast.

Hier ist der Code, der den String foobar in die gzip-komprimierte Datei foo.gz schreibt:

gzip_compress.hs
-- GZip-Komprimierung
import qualified Codec.Compression.GZip as GZip
-- Benötigt um String-Literale in ByteString umzuwandeln
import Data.ByteString.Lazy.Char8(pack)
-- ByteString.writeFile
import qualified Data.ByteString.Lazy as ByteString

main = do
       let compressedContent = pack "foobar"
       ByteString.writeFile "foo.gz" (GZip.compress compressedContent)has

Check out similar posts by category: Haskell