1. Welcome Guest! In order to create a new topic or reply to an existing one, you must register first. It is easy and free. Click here to sign up now!.
    Dismiss Notice

Problem with GzZipStream

Discussion in 'Microsoft News' started by NewsBot, Mar 27, 2008.

  1. NewsBot

    NewsBot I Got News

    Joined:
    Feb 8, 2006
    Messages:
    1,813
    Operating System:
    Windows Vista Home Premium
    Hi there, can anyone point me in the direction*of where I'm going wrong here.* I have written two functions, basically the same as countless examples on web..
    - One is passed an array of bytes as a parameter and returns a compressed array of bytes
    - The other (surprise surprise) is passed the compressed array and (is meant to) return an uncompressed array.

    I have temporarily added code to parallel the compression/decompression to file, curious to see if that worked.

    The gist of this is, the "compression function" writes the same number of bytes to file as it returns as an array.
    The "decompression" function decompresses the file version back to the original size, but the attempt to do simlar on memory is failing.

    The point that it seems to go awry is documented.**After positioning the underlying MemoryStream position to 0, a read of N bytes returns zero read, and the MemoryStream Position is now at end*of stream.*

    Any help will*be greatly appreciated.

    ---------------------------------------------------------------------------------------

    <!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Public<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Function<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> Compress(<!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->ByRef<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> inbytes() <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->As<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Byte<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo-->) <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->As<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Byte<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo-->()
    <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Using<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> mem <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->As<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->New<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> MemoryStream, _
    g <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->As<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->New<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> GZipStream(mem, CompressionMode.Compress), _
    fs <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->As<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->New<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> FileStream(<!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#a31515--><span style="color:#a31515 <!--/coloro-->"c:usersdavemdocumentscompressedtable.gz"<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo-->, FileMode.OpenOrCreate, FileAccess.Write), _
    g2 <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->As<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->New<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> GZipStream(fs, CompressionMode.Compress)
    <blockquote><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Try
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><blockquote><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#008000--><span style="color:#008000 <!--/coloro-->'========================================================================
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#008000--><span style="color:#008000 <!--/coloro-->' First compress array of bytes to file
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo-->g2.Write(inbytes, 0, inbytes.Length)
    <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#008000--><span style="color:#008000 <!--/coloro-->'=========================================================================
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#008000--><span style="color:#008000 <!--/coloro-->' Now compress to an array (retVal)
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo-->g.Write(inbytes, 0, inbytes.Length)
    <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Dim<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> retval() <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->As<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Byte<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> = mem.ToArray
    <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#008000--><span style="color:#008000 <!--/coloro-->' The compressed bytes in memory (Retval) and and those written to file are same length
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Return<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> retval
    [/quote]<!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Catch<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> ex <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->As<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> Exception
    <blockquote><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Return<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Nothing
    [/quote]<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Finally
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->If<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Not<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> g <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Is<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Nothing<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Then
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><blockquote>g.Close()
    [/quote]<!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->End<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->If
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->If<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Not<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> mem <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Is<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Nothing<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Then
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><blockquote>mem.Close()
    [/quote]<!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->End<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->If
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->End<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Try
    [/quote]<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->End<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Using
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->End<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Function

    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->----------------------------------------------------------

    Public<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Function<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> DeCompress(<!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->ByRef<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> inbytes() <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->As<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Byte<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo-->) <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->As<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Byte<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo-->()
    <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Using<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> mem <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->As<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> MemoryStream = <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->New<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> MemoryStream(inbytes), _
    mem2 <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->As<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> MemoryStream = <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->New<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> MemoryStream(), _
    <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo-->g <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->As<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> GZipStream = <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->New<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> GZipStream(mem, CompressionMode.Decompress, <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->False<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo-->), _
    fs <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->As<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> FileStream = <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->New<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> FileStream(<!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#a31515--><span style="color:#a31515 <!--/coloro-->"c:usersdavemdocumentscompressedtable.gz"<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo-->, FileMode.Open, FileAccess.Read), _
    <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo-->g2 <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->As<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> GZipStream = <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->New<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> GZipStream(fs, CompressionMode.Decompress, <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->True<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo-->)
    <blockquote><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Try
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><blockquote><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#008000--><span style="color:#008000 <!--/coloro-->'=============================================================================
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#008000--><span style="color:#008000 <!--/coloro-->' First decompress the file
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Dim<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> filebuffer(1024) <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->As<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Byte
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo-->fs.Position = 0
    <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Dim<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> fileread <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->As<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Integer<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> = g2.Read(filebuffer, 0, filebuffer.Length)
    <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->While<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> fileread > 0
    <blockquote>mem3.Write(filebuffer, 0, fileread)
    fileread = g2.Read(filebuffer, 0, filebuffer.Length)
    [/quote]<!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->End<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->While
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Dim<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> decompfile() <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->As<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Byte<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> = mem3.ToArray
    <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#008000--><span style="color:#008000 <!--/coloro-->' decompfile array is the same size as original uncompressed byte array
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#008000--><span style="color:#008000 <!--/coloro-->'==============================================================================
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#008000--><span style="color:#008000 <!--/coloro-->' Now try decompressing the array of compressed bytes
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo-->mem.Position = 0
    <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Dim<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> buffer(1024) <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->As<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Byte
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Dim<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> memread <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->As<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Integer<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> = g.Read(buffer, 0, buffer.Length)
    <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#008000--><span style="color:#008000 <!--/coloro-->' memread is zero, and the mem.Position is now positioned at end of stream
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#008000--><span style="color:#008000 <!--/coloro-->' so this next loop is of course skipped entirely
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->While<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> memread > 0
    <blockquote>mem2.Write(buffer, 0, memread)
    memread = g.Read(buffer, 0, buffer.Length)
    [/quote]<!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->End<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->While
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#008000--><span style="color:#008000 <!--/coloro-->' therefore retval is empty
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Dim<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> retval() <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->As<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Byte<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> = mem2.ToArray
    <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Return<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> retval
    [/quote]<!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Catch<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> ex <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->As<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> Exception
    <blockquote><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Return<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Nothing
    [/quote][/quote]<blockquote><!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Finally
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><blockquote><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->If<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Not<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> mem <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Is<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Nothing<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Then
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo-->mem.Close()
    <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->End<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->If
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->If<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Not<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> mem2 <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Is<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Nothing<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Then
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo-->mem2.Close()
    <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->End<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->If
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->If<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Not<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--> g <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Is<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Nothing<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Then
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo-->g.Flush()
    g.Close()
    <!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->End<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->If
    [/quote]<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->End<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Try
    [/quote]<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->End<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Using
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Return<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Nothing
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->End<!--colorc--><!--/colorc--><!--sizec--><!--/sizec--><!--sizeo:2--><span style="font-size:10pt;line-height:100% <!--/sizeo--><!--coloro:#0000ff--><span style="color:#0000ff <!--/coloro-->Function
    <!--colorc--><!--/colorc--><!--sizec--><!--/sizec-->




     

Share This Page