正如标题所述,我想使用zip-conduit从一个压缩文件中读取行,我的压缩文件非常大,因此需要在恒定的内存中完成。我了解conduits的基本概念,但从未真正使用过,对于如何开始感到非常困惑。我已经阅读了conduits教程,但是很难将其与我的问题匹配起来。
zip-conduit文档表示可以通过以下方式从zip归档文件中获取源:
zip-conduit文档表示可以通过以下方式从zip归档文件中获取源:
import qualified Data.Conduit.Binary as CB
import Codec.Archive.Zip
withArchive archivePath $ do
name:_ <- entryNames
sourceEntry name $ CB.sinkFile name
我猜我需要做的是在CB.sinkFile
的位置上写一些内容。 Data.Conduit.Text
有一个lines
函数 - 是否可以以某种方式使用它来获取文件中的行?
我会非常感激一个简单的例子,比如使用putStrLn
将存档在zip文件内的简单文本文件的行写出来。先行致谢。