/// <summary> /// Извлекает файл из архива Gzip. /// </summary> /// <param name="setting">Входные параметры, для удобства собраны в класс</param> /// <returns>В случае успеха возвращает 0, при ошибке 1</returns> public int ExtractFile(ArchiveSettings setting) { try { _archiveFilename = setting.InputFilename; _archiveStream = new FileStream(_archiveFilename, FileMode.Open, FileAccess.Read); ThreadSchema schema = new ThreadSchema(this); schema.Run(setting.OutpuFilename, setting.ThreadCount); return(0); } catch (Exception ex) { #if DEBUG Console.WriteLine("ERROR: " + ex.Message); #endif return(1); } }
/// <summary> /// Упаковывает файл алгоритмом GzipStream. /// </summary> /// <param name="settings">Входные параметры, для удобства собраны в класс</param> /// <returns>В случае успеха возвращает 0, при ошибке 1</returns> public int PackFile(ArchiveSettings settings) { try { // считываем настройки алгоритма string inputFilename = settings.InputFilename; string outpuFilename = settings.OutpuFilename; int workerCount = settings.ThreadCount; _srcStream = new FileStream(inputFilename, FileMode.Open, FileAccess.Read); ThreadSchema schema = new ThreadSchema(this); schema.Run(outpuFilename, workerCount); return(0); } catch (Exception ex) { #if DEBUG // в режиме отладки, ошибку показывать можно Console.WriteLine("ERROR: " + ex.Message); #endif return(1); } }