GZipStream и DeflateStream создают файлы большего размера

Я пытаюсь использовать потоки deflate / gzip в C #, но оказалось, что файлы после сжатия стали больше, чем раньше.

Например, я сжимаю файл docx размером 900ko, но он производит 1.4Mo one!

И он делает это для каждого файла, который я пробовал.

Может быть, я ошибаюсь в том, как я ' м делаю это? Вот мой код:

  FileStream input = File.OpenRead(Environment.CurrentDirectory + "/file.docx");
  FileStream output = File.OpenWrite(Environment.CurrentDirectory + "/compressedfile.dat");

  GZipStream comp = new GZipStream(output, CompressionMode.Compress);

  while (input.Position != input.Length)
      comp.WriteByte((byte)input.ReadByte());

  input.Close();

  comp.Close(); // automatically call flush at closing
  output.Close();
9
задан Lazarus 5 October 2010 в 02:35
поделиться