Mega Code Archive

 
Categories / C# Book / 07 Stream
 

0582 Compressing in Memory

using System; using System.IO; using System.IO.Compression; using System.Linq; using System.Text; class Program { static void Main() { byte[] data = new byte[1000]; var ms = new MemoryStream(); using (Stream ds = new DeflateStream(ms, CompressionMode.Compress)) ds.Write(data, 0, data.Length); byte[] compressed = ms.ToArray(); Console.WriteLine(compressed.Length); // 113 // Decompress back to the data array: ms = new MemoryStream(compressed); using (Stream ds = new DeflateStream(ms, CompressionMode.Decompress)) for (int i = 0; i < 1000; i += ds.Read(data, i, 1000 - i)) ; } } The output: 117