3

使用该zip-conduit库,我想列出 ZIP 存档中的条目。我只想每行打印它们的文件名 - 类似于unzip -l,但没有任何其他信息。

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

4

1 回答 1

2

您可以使用该entryNames功能。通过修改ZIP 提取示例,我们可以打印名称而不是提取。

以下示例程序从第一个命令行参数中获取 ZIP 文件名并用于mapM_ putStrLn打印它们:

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

main = do
    -- ZIP file name: First commandline arg
    zipPath:_ <- getArgs
    names <- withArchive zipPath $ entryNames
    mapM_ putStrLn names
于 2014-08-25T15:05:56.060 回答