Ejemplo n.º 1
0
        /// <summary>
        /// Zips the specified un-zipped stream.
        /// </summary>
        /// <param name="unZipStream">The stream to zip.</param>
        /// <param name="zipStream">The stream that will contain the zipper data.</param>
        /// <param name="compressionType">The type of compression to use.</param>
        public static void Compress(Stream unZipStream, Stream zipStream, CompressionAlgorithmStreaming compressionType)
        {
            switch (compressionType)
            {
            case CompressionAlgorithmStreaming.GZip:
                GZipStream.Compress(unZipStream, zipStream);
                break;

            case CompressionAlgorithmStreaming.ZLib:
                ZlibStream.Compress(unZipStream, zipStream);
                break;
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Get the compression algorithm conversion.
        /// </summary>
        /// <param name="compressionAlgorithm">The compression algorithm.</param>
        /// <returns>The compression algorithm index.</returns>
        public static int GetAlgorithmInt32(CompressionAlgorithmStreaming compressionAlgorithm)
        {
            switch (compressionAlgorithm)
            {
            case CompressionAlgorithmStreaming.GZip:
                return(2);

            case CompressionAlgorithmStreaming.ZLib:
                return(1);

            case CompressionAlgorithmStreaming.None:
            default:
                return(0);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Unzips a zipped stream to the specified stream
        /// </summary>
        /// <param name="zipArray">The zipped stream to un-zip.</param>
        /// <param name="compressionType">The type of compression to use.</param>
        public static byte[] Decompress(byte[] zipArray, CompressionAlgorithmStreaming compressionType)
        {
            using (MemoryStream unZipStream = new MemoryStream())
                using (MemoryStream zipStream = new MemoryStream(zipArray))
                {
                    switch (compressionType)
                    {
                    case CompressionAlgorithmStreaming.GZip:
                        GZipStream.Decompress(zipStream, unZipStream);
                        break;

                    case CompressionAlgorithmStreaming.ZLib:
                        ZlibStream.Decompress(zipStream, unZipStream);
                        break;
                    }

                    unZipStream.Close();
                    return(unZipStream.ToArray());
                }
        }