有谁知道如何在erlang中解压缩受密码保护的文件

时间:2011-12-18 08:27:10

标签: file erlang unzip

有3个问题

  1. 如何在erlang中解压缩或打开受密码保护的zip文件?
  2. 解压缩zip文件后,通过扩展对所有文件进行排序,例如filelib:wildcard(" *。?erl")?
  3. 将所有已排序的文件放入不同的文件,即文件:write(all * .erl - > to erlfile)和file:write(all * .beam - > to beamfile)
  4. 感谢

1 个答案:

答案 0 :(得分:0)

至于1.,我认为你不能轻易做到这一点。您必须调用一些外部脚本并通过端口观察其行为。

对于2,您可以执行以下操作:

 Filenames = ["foo.erl", "bar.txt", "baz.erl"],
 Sorted = lists:keysort(1, [{filename:extension(Name), Name} || Name <- Filenames])
 [Name || {_, Name} <- Sorted].

对于3,如果空间没有问题,那么将它们全部读入内存,将数据收集到iolist()中并将其写回所需的输出文件。如果空间有问题,您需要稍微流式传输数据并读取数据块。