GZipStream: Неправильное магическое число в заголовке GZip - C#
Формулировка задачи:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO.Compression;
using System.IO;
public class GZip
{
public static void Compress(String fileSource, String fileDestination, int buffsize)
{
using (var fsInput = new FileStream(fileSource, FileMode.Open, FileAccess.Read))
{
using (var fsOutput = new FileStream(fileDestination, FileMode.Create, FileAccess.Write))
{
using (var gzipStream = new GZipStream(fsOutput, CompressionMode.Compress))
{
var buffer = new Byte[buffsize];
int h;
while ((h = fsInput.Read(buffer, 0, buffer.Length)) > 0)
{
gzipStream.Write(buffer, 0, h);
}
}
}
}
}
public static void Decompress(String fileSource, String fileDestination, int buffsize)
{
using (var fsInput = new FileStream(fileSource, FileMode.Open, FileAccess.Read))
{
using (var fsOutput = new FileStream(fileDestination, FileMode.Create, FileAccess.Write))
{
using (var gzipStream = new GZipStream(fsInput, CompressionMode.Decompress))
{
var buffer = new Byte[buffsize];
int h;
while ((h = gzipStream.Read(buffer, 0, buffer.Length)) > 0)
{
fsOutput.Write(buffer, 0, h);
}
}
}
}
}
public static void Main()
{
Decompress("lol.zip", "zzz",1500);
}
}while ((h = gzipStream.Read(buffer, 0, buffer.Length)) > 0)
Решение задачи: «GZipStream: Неправильное магическое число в заголовке GZip»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.IO.Compression;
using SharpCompress;
using SharpCompress.Archive;
using SharpCompress.Common;
public class paker {
public static void Main()
{
var archive = ArchiveFactory.Open(@"C:\Temp\Ametist.031.7z");
foreach (var entry in archive.Entries)
{
if (!entry.IsDirectory)
{
Console.WriteLine(entry.FilePath);
entry.WriteToDirectory(@"C:\Temp", ExtractOptions.ExtractFullPath | ExtractOptions.Overwrite);
}
}
}
}