0

我尝试打开加密的 zip 文件,然后再次写入。不幸的是,我不断收到“读取错误”并且不明白为什么。我发现 LibZip for Haskell 的文档很难遵循,因此对于它如何工作的任何解释,我将不胜感激。这是我的代码:

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

提前致谢!

4

0 回答 0