Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Haskell从zip存档中提取单个文件_Haskell_Zip_Zip Conduit - Fatal编程技术网

使用Haskell从zip存档中提取单个文件

使用Haskell从zip存档中提取单个文件,haskell,zip,zip-conduit,Haskell,Zip,Zip Conduit,使用该库,我想从ZIP存档中提取一个文件(例如bar/foo.txt) 关于hackage的示例仅显示如何一次提取所有文件。如何仅提取单个文件或文件列表 注意:这个问题是用问答方式回答的,因此故意不显示任何研究成果 官方示例将提取文件应用于文件名返回的[FilePath]。您只需将其应用于自定义文件名列表: import Codec.Archive.Zip (withArchive, extractFiles) import System.Environment (getArgs) main

使用该库,我想从ZIP存档中提取一个文件(例如
bar/foo.txt

关于hackage的示例仅显示如何一次提取所有文件。如何仅提取单个文件或文件列表


注意:这个问题是用问答方式回答的,因此故意不显示任何研究成果

官方示例将
提取文件
应用于
文件名
返回的
[FilePath]
。您只需将其应用于自定义文件名列表:

import Codec.Archive.Zip (withArchive, extractFiles)
import System.Environment (getArgs)

main = do
    -- ZIP file name: First commandline arg
    zipPath:_ <- getArgs
    withArchive zipPath $
        extractFiles ["bar/foo.txt"] "."
您可以使用任何其他接收器,而不是使用
CB.sinkFile

import Codec.Archive.Zip (withArchive, sourceEntry)
import System.Environment (getArgs)
import qualified Data.Conduit.Binary as CB

main = do
    -- ZIP file name: First commandline arg
    zipPath:_ <- getArgs
    withArchive zipPath $
        sourceEntry "bar/foo.txt" $ CB.sinkFile "foo.txt"