name

seung-jae hwang·2020년 5월 7일
0
    public object DeCompress(byte[] data)
    {
        try
        {
            using (MemoryStream memoryStream1 = new MemoryStream())
            {
                memoryStream1.Write(data, 0, data.Length);
                memoryStream1.Seek(0L, SeekOrigin.Begin);
                using (DeflateStream deflateStream = new DeflateStream((Stream)memoryStream1, CompressionMode.Decompress, true))
                {
                    using (MemoryStream memoryStream2 = new MemoryStream())
                    {
                        byte[] buffer = new byte[32768];
                        while (true)
                        {
                            int count = deflateStream.Read(buffer, 0, buffer.Length);
                            if (count > 0)
                                memoryStream2.Write(buffer, 0, count);
                            else
                                break;
                        }
                        deflateStream.Flush();
                        memoryStream2.Seek(0L, SeekOrigin.Begin);
                        return new BinaryFormatter().Deserialize((Stream)memoryStream2, (HeaderHandler)null);
                    }
                }
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

0개의 댓글