我的msn好久没用了[email protected]

解决方案 »

  1.   

    /// <summary>
    /// 采用Zip解压缩byte数组
    /// </summary>
    /// <param name="mybyte">byte数组</param>
    public static void DeCompress(ref byte[] mybyte)
    {
    //byte数组转化成输入流
    Stream inputStream = new MemoryStream();
    inputStream.Seek(0, SeekOrigin.Begin);
    inputStream.Write(mybyte, 0, mybyte.Length);

    Stream outputStream = new MemoryStream();
    //初始化指针
    outputStream.Seek(0, SeekOrigin.Begin);
    inputStream.Seek(0, SeekOrigin.Begin);
    //实例化解压程序
    ZipInputStream s = new ZipInputStream(inputStream);
    if(s.GetNextEntry() != null)
    {
    int size = 2048;
    byte[] data = new byte[2048];
    while (true) 
    {
    size = s.Read(data, 0, data.Length);
    if (size > 0) 
    {
    //把字节数组分步写到流中
    outputStream.Write(data, 0, size);
    }
    else
    {
    break;
    }
    }
    s.Close();
    //把流写入到byte数组中去
    int iLength = (int)outputStream.Length;
    mybyte = new Byte[iLength];
    outputStream.Seek(0, SeekOrigin.Begin);
    outputStream.Read(mybyte, 0, mybyte.Length);
    }
    outputStream.Close();
    }