CompressionLevel Перечисление

Определение

Задает значения, показывающие, выделяет ли операция сжатия скорость или размер сжатого файла.

public enum class CompressionLevel
public enum CompressionLevel
type CompressionLevel = 
Public Enum CompressionLevel
Наследование
CompressionLevel

Поля

Fastest 1

Операция сжатия должна завершиться как можно быстрее, даже если результирующий файл не будет сжат оптимально.

NoCompression 2

Файл не требуется сжимать.

Optimal 0

Операция сжатия должна оптимально сбалансировать скорость сжатия и размер выходных данных.

SmallestSize 3

Операция сжатия должна создавать выходные данные как можно меньше, даже если выполнение операции занимает больше времени.

Комментарии

Операции сжатия обычно связаны с компромиссом между скоростью и эффективностью сжатия. Перечисление CompressionLevel используется для указания того, какой фактор важнее в сценарии разработки: время завершения операции сжатия или размер сжатого файла. Эти значения не соответствуют определенным уровням сжатия; Объект, реализующий сжатие, определяет способ их обработки.

Следующие методы классов , , GZipStreamи ZipArchiveZipFileZipFileExtensions классы DeflateStreamвключают параметр с именемcompressionLevel, который позволяет указать уровень сжатия:

Примеры

В следующем примере показано, как задать уровень сжатия при создании ZIP-архива с помощью ZipFile класса.

using System;
using System.IO;
using System.IO.Compression;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string startPath = @"c:\example\start";
            string zipPath = @"c:\example\result.zip";

            ZipFile.CreateFromDirectory(startPath, zipPath, CompressionLevel.Fastest, true);
        }
    }
}
Imports System.IO
Imports System.IO.Compression

Module Module1

    Sub Main()
        Dim startPath As String = "c:\example\start"
        Dim zipPath As String = "c:\example\result.zip"

        ZipFile.CreateFromDirectory(startPath, zipPath, CompressionLevel.Fastest, True)
    End Sub

End Module

Применяется к