BelhardTraining.LessonIO.Program.TryCompess C# (CSharp) Méthode

TryCompess() private static méthode

private static TryCompess ( string filePath, string message ) : void
filePath string
message string
Résultat void
        private static void TryCompess(string filePath, string message)
        {
            long originalSize, deflateSize, gzipSize;

            // Пробуем Deflate алгоритм
            using (FileStream inputStream = File.OpenRead(filePath))
            {
                originalSize = inputStream.Length;

                using (MemoryStream outputStream = new MemoryStream())
                {
                    using (DeflateStream compressionStream = new DeflateStream(outputStream, CompressionMode.Compress, true))
                    {
                        inputStream.CopyTo(compressionStream);
                    }

                    deflateSize = outputStream.Length;
                }
            }

            // Пробуем GZip алгоритм
            using (FileStream inputStream = File.OpenRead(filePath))
            {
                using (MemoryStream outputStream = new MemoryStream())
                {
                    using (GZipStream compressionStream = new GZipStream(outputStream, CompressionMode.Compress, true))
                    {
                        inputStream.CopyTo(compressionStream);
                    }

                    gzipSize = outputStream.Length;
                }
            }

            long bestSize = Math.Min(deflateSize, gzipSize);

            Console.WriteLine(message);
            Console.WriteLine("Оригинальный размер: {0:N0} байтов", originalSize);
            Report("Алгоритм Deflate   : {0:N0} {1}. Выигрыш {2} {3} ({4:P})", originalSize, deflateSize, bestSize);
            Report("Алгоритм GZip      : {0:N0} {1}. Выигрыш {2} {3} ({4:P})", originalSize, gzipSize, bestSize);
            Console.WriteLine();
        }