如何在Windows Mobile中解压.zip文件?

3

我需要以编程方式将zip归档文件解压到Windows Mobile上的文件夹。是否有易于使用的API可供直接使用,还是应该使用某些外部库?

3个回答

7
您需要一个外部库。如果您熟悉C ++,可以使用名为zlibce.dll的本地DLL。
如果您喜欢.NET,则我可以推荐DotNetZip,它运行在.NETCF 2.0上,是免费的开源软件,并且具有良好的文档和性能。在DotNetZip源分发中,有一个CF-Unzipper项目,您可以查看并编译;它演示了如何在设备上解压缩文件。这里是一个链接,您可以查看设备应用程序的代码
以下是代码中与zip相关的部分。它将解压缩到以zip文件命名的目录(不包括.zip扩展名)。
    private void UnzipSelectedFile()
    {
        string parent = System.IO.Path.GetDirectoryName(_selectedpath);
        string dir = System.IO.Path.Combine(parent,
            System.IO.Path.GetFileNameWithoutExtension(_selectedpath));
        try
        {
            using (var zip1 = new Ionic.Zip.ZipFile(_selectedpath))
            {
                foreach (var entry in zip1)
                {
                    entry.Extract(dir, true);
                }
            }

            // re-populate the treeview with the extracted files:
            AddChildren(tvFolders.SelectedNode.Parent);

        }
        catch (Exception ex)
        {
            MessageBox.Show("Exception! " + ex);
        }
    }

这是一个关于图书馆的在线文档链接

0

-1
无论您使用什么编程语言,都可以将Info-ZIP作为外部可执行文件使用。

根据http://www.info-zip.org/FAQ.html#WinCE - 我们目前没有计划为WinCE移植Zip。我们希望最终能够完成这个任务,但只有在时间允许的情况下才会进行,而且已经搁置了超过8年(!)。不要抱太大希望,好吗? - The1nk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接