title: GZipStream and decompression
body: <p>I have code that should do the compression:</p>
  
  <pre><code>FileStream fs = new FileStream("g:\\gj.txt", FileMode.Open);
  FileStream fd = new FileStream("g:\\gj.zip", FileMode.Create);
  GZipStream csStream = new GZipStream(fd, CompressionMode.Compress);
  
  byte[] compressedBuffer = new byte[500];
  int offset = 0;
  int nRead;
  
  nRead = fs.Read(compressedBuffer, offset, compressedBuffer.Length);
  while (nRead &gt; 0)
  {
      csStream.Write(compressedBuffer, offset, nRead);
      offset = offset + nRead;
      nRead = fs.Read(compressedBuffer, offset, compressedBuffer.Length);
  }
  
  fd.Close();
  fs.Close();
  </code></pre>
  
  <p>and I think it does, but I want to decompress what was compressed the way above. I do somethink like that:</p>
  
  <pre><code>FileStream fd = new FileStream("g:\\gj.new", FileMode.Create);
  FileStream fs = new FileStream("g:\\gj.zip", FileMode.Open);
  GZipStream csStream = new GZipStream(fs, CompressionMode.Decompress);
  
  byte[] decompressedBuffer = new byte[500];
  int offset = 0;
  int nRead;
  
  nRead=csStream.Read(decompressedBuffer, offset, decompressedBuffer.Length);
  while (nRead &gt; 0)
  {
      fd.Write(decompressedBuffer, offset, nRead);
      offset = offset + nRead;
      nRead = csStream.Read(decompressedBuffer, offset, decompressedBuffer.Length);
  }
  
  fd.Close();
  fs.Close();
  </code></pre>
  
  <p>and here it doesn't... I've got nRead = 0 befeore entering the loop... What I do  wrong??
  The test file I use is the simpliest TEXT file (size: 104 bytes)...</p>