使用Haskell从zip存档中提取单个文件
使用该库,我想从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
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"