GZipStream - параллельная распаковка файла большого размера - C#
Формулировка задачи:
Всем привет! Проблема отображена в названии темы. С сжатием всё понятно: читаем кусочки файлов отдельным потоком, несколькими потоками эти кусочки сжимаем и отдельным потоком записываем. С распаковкой так сделать не получается, т.к. не известно каких размеров куски нужно читать, что приводит к забавной ошибке: "Неправильное магическое число в заголовке GZip. Передача должна идти в поток GZip." Есть идеи по поводу того, как с этим бороться?
Решение задачи: «GZipStream - параллельная распаковка файла большого размера»
textual
Листинг программы
using (Stream stream = File.Open(Path.Combine(_readConfiguration,path), FileMode.Open))
{
using (GZipStream gz = new GZipStream(stream, CompressionMode.Decompress))
{
bytes = (byte[])(new BinaryFormatter()).Deserialize(gz);
gz.Close();
}
stream.Close();
}