嗨我在ZipArchive中为我的通用应用程序遇到此问题。下面的代码适用于Windows Phone但不适用于Windows 8.1应用程序。
我无法理解为什么这不适用于Windows 8.1应用程序,但仅适用于Windows Phone
我得到的例外情况是:“End Of Central Directory中预期的条目数与中央目录中的条目数不对应。”当我尝试阅读条目时。
using (var zipStream = await folder.OpenStreamForReadAsync(filename))
{
using (MemoryStream zipMemoryStream = new MemoryStream((int)zipStream.Length))
{
await zipStream.CopyToAsync(zipMemoryStream);
using (var archive = new ZipArchive(zipMemoryStream, ZipArchiveMode.Read))
{
try
{
// THIS CAUSE THE EXCEPTION!!!!
foreach (var entry in archive.Entries)
{
if (entry.Name == "")
{
// Folder
await CreateRecursiveFolder(folder, entry);
}
else
{
// File
await ExtractFile(folder, entry);
}
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message);
//throw;
}
}
}