我的项目中有一个嵌入式zip文件。我需要将它解压缩到某个位置。
我不想使用外部库。
Stream _pluginZipResourceStream = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("plugin.zip");
我试过GZipStream但最终出错了!
using (FileStream decompressedFileStream = File.Create(outputFileName))
{
using (GZipStream decompressionStream = new GZipStream(fileStream, CompressionMode.Decompress))
{
decompressionStream.CopyTo(decompressedFileStream);
}
}
未处理InvalidDataException :GZip标头中的幻数不正确。确保传入GZip流。
如何解压缩???
答案 0 :(得分:1)
GZip
是一种特定的压缩算法,但很可能在您的zip文件中没有使用。
如果您使用的是.NET 4.5,则可以使用ZipArchive类。如果没有,请参阅How to extract ZIP file in C#。
答案 1 :(得分:1)
如果您有幸使用框架4.5或更高版本,可以使用ZipArchive查看:
http://msdn.microsoft.com/de-de/library/System.IO.Compression%28v=vs.110%29.aspx
如果您遇到4.0或更早版本,则必须使用外部库,或将存档转换为GZip。