public static void Compress(byte[] data, string path) { using (GZipStream gzip = new GZipStream( new FileStream(path, FileMode.Create, FileAccess.Write), CompressionMode.Compress, CompressionLevel.BestCompression, false)) { gzip.Write(data, 0, data.Length); gzip.Flush(); } }
public static byte[] Compress(byte[] data) { MemoryStream output = new MemoryStream(); using (GZipStream gzip = new GZipStream( output, CompressionMode.Compress, CompressionLevel.BestCompression, true)) { gzip.Write(data, 0, data.Length); gzip.Flush(); } return output.ToArray(); }
public void GZipStreamTest() { string testString = "Some testing string to compress/decompress using the GzipStream object!"; // compress. var testStringBytes = ASCIIEncoding.ASCII.GetBytes(testString); var compressedStream = new MemoryStream(); var stream = new GZipStream(compressedStream, CompressionMode.Compress); stream.Write(testStringBytes, 0, testStringBytes.Length); stream.Flush(); byte[] compressedTestString = compressedStream.ToArray(); // decompress. compressedStream = new MemoryStream(compressedTestString); var decompressiongStream = new GZipStream(compressedStream, CompressionMode.Decompress); var decompressedStream = new MemoryStream(); decompressiongStream.CopyTo(decompressedStream); var decompressedTestString = new byte[decompressedStream.Length]; decompressedStream.Read(decompressedTestString, 0, decompressedTestString.Length); ASCIIEncoding.ASCII.GetString(decompressedTestString); }