我已将.zip文件转换为byte [],现在我正在尝试将byte []转换回原始的.zip文件。我用完了我尝试过的选项。有人给我一个指针我怎么能实现这个目标?
答案 0 :(得分:1)
你想要System.IO.Compression.ZipArchive class:
using (ZipArchive zip = ZipFile.Open("test.zip", ZipArchiveMode.Create))
{
var entry = zip.CreateEntry("File Name.txt");
using (StreamWriter sw = new StreamWriter(entry.Open()))
{
sw.Write("Some Text");
}
}
using (ZipArchive zip = ZipFile.Open("test.zip", ZipArchiveMode.Read))
{
foreach (ZipArchiveEntry entry in zip.Entries)
{
using (StreamReader sr = new StreamReader(entry.Open()))
{
var result = sr.ReadToEnd();
}
}
}
您可能不想首先将原始zip文件读入字节数组,然后尝试将其解压缩。而是通过此辅助方法访问它。
注意使用ZipArchive.Entries
访问存储在单个zip存档中的子文件;当我第一次学习使用zip文件时,这让我兴奋不已。