我想以编程方式提取zip文件。
我搜索了谷歌,但我还没有找到它。 我正在使用这些代码,但我收到此错误
GZip标头中的幻数不正确。确保你是 传入GZip流。
代码:
public static void Decompress(FileInfo fi)
{
using (FileStream inFile = fi.OpenRead())
{
string curFile = fi.FullName;
string origName = curFile.Remove(curFile.Length - fi.Extension.Length);
using (FileStream outFile = File.Create(origName))
{
using (GZipStream Decompress = new GZipStream(inFile,
CompressionMode.Decompress))
{
byte[] buffer = new byte[4096];
int numRead;
while ((numRead = Decompress.Read(buffer, 0, buffer.Length)) != 0)
{
outFile.Write(buffer, 0, numRead);
}
Console.WriteLine("Decompressed: {0}", fi.Name);
}
}
}
}
如果有人能帮助我,我们将非常感激。
提前致谢。
答案 0 :(得分:11)
错误表明您没有打开 GZip 文件。 GZip库无法打开标准ZIP存档。