Unzipping a .gz file using C#

I’ve used .Net’s built-in GZipStream for gzipping byte streams and it works just fine. I suspect that your files are tarred first, before being gzipped.

You’ve asked for code, so here’s a sample, assuming you have a single file that is zipped:

FileStream stream = new FileStream("output.xml", FileMode.Create); // this is the output
GZipStream uncompressed = new GZipStream(stream, CompressionMode.Decompress);

uncompressed.Write(bytes,0,bytes.Length); // write all compressed bytes
uncompressed.Flush();
uncompressed.Close();

stream.Dispose();

Edit:

You’ve changed your question so that the file is a tar.gz file – technically my answer is not applicable to your situation, but I’ll leave it here for folks who want to handle .gz files.

Leave a Comment