【发布时间】:2014-05-20 07:34:47
【问题描述】:
我从这个链接得到了一个代码:
http://www.codeproject.com/Tips/515704/Archive-Multiple-Files-In-Zip-Extract-Zip-Archive
以 zip 格式压缩和提取文件。
但是代码中的压缩部分只是创建了一个空的 zip 文件,那么我如何在这个 zip 档案中以编程方式添加文件?
我已经检查了 ziparchieve 类的文档,它有一个名为 CreateEntryFromFile(String, String) 的 .net 方法,但是此方法不适用于 .net windows store 版本。
这是我们关心的代码:
private async void ZipClick(object sender, RoutedEventArgs e)
{
FileSavePicker picker = new FileSavePicker();
picker.FileTypeChoices.Add("Zip Files (*.zip)", new List<string> { ".zip" });
picker.SuggestedStartLocation = PickerLocationId.Desktop;
picker.SuggestedFileName = "1";
zipFile = await picker.PickSaveFileAsync();
using (var zipStream = await zipFile.OpenStreamForWriteAsync())
{
using (ZipArchive zip = new ZipArchive(zipStream, ZipArchiveMode.Create))
{
foreach (var file in storeFile)
{
ZipArchiveEntry entry = zip.CreateEntry(file.Name);
using (Stream ZipFile = entry.Open())
{
byte[] data = await GetByteFromFile(file);
ZipFile.Write(data, 0, data.Length);
}
}
}
}
}
【问题讨论】:
标签: c# windows-store-apps zip compression