暗号化された zip ファイルを開いて、再度書き込みを試みます。残念ながら、「読み取りエラー」が発生し続け、その理由がわかりません。Haskell 用の LibZip のドキュメントを理解するのは難しいと思うので、それがどのように機能するかについての説明に感謝します。これが私のコードです:
writeZip :: FilePath -> [(FilePath, ZipSource)] -> IO ()
writeZip zipName zipContent = withArchive [CreateFlag] zipName $ do
mapM_ (uncurry addFile) zipContent
readEncryptedZip :: FilePath -> Password -> IO [(FilePath, ZipSource)]
readEncryptedZip zipName passwd = withEncryptedArchive [CheckConsFlag]
passwd zipName $ do
nn <- fileNames []
ss <- mapM (\n -> sourceFile n 0 (-1)) nn
return $ zip nn ss
およびメインモジュール:
main = readEncryptedZip "protected_file2.zip" "ll" >>= writeZip "unprotected.zip"
Codec.Archive.LibZip、ghci バージョン 8.0.1、MacOs Sierra 10.12 を使用
前もって感謝します!