我正在使用Windows phone 8商店应用,需要Zip一个本地存储文件夹(带有一些图像)。环境VS 2013。 我了解到我可以添加SharpCompress& amp; System.IO.Compression(但不是.FileSystem)。
SharpZipLib& DotNetZip似乎不支持WP8。
SharpCompress提供的示例不起作用。
对代码的任何建议都会有很大帮助。感谢。
答案 0 :(得分:0)
System.IO.Compression:
string GuidPath = Path.Combine(LocalStorage, Guid.NewGuid().ToString()) + ".zip";
using (FileStream zipToOpen = new FileStream(GuidPath, FileMode.Create))
{
using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Create))
{
String[] files = Directory.GetFiles(szFldrPath);
foreach( String echFile in files )
{
ZipArchiveEntry readmeEntry = archive.CreateEntry(Path.GetFileName(echFile));
using (BinaryWriter writer = new BinaryWriter(readmeEntry.Open()))
{
using (Stream source = File.OpenRead(echFile))
{
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = source.Read(buffer, 0, buffer.Length)) > 0)
{
writer.Write(buffer, 0, bytesRead);
}
}
}
}
}
}