Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C# GZipStream to String

Tags:

c#

.net

vb.net

I am in need of a way to write a GZipStream to a string.

I am using:

GZipStream Decompress = new GZipStream(inFile, CompressionMode.Decompress)

I have tried several methods, but can't figure it out. Does anyone have any ideas?

Many thanks, Brett

like image 946
Brett Avatar asked Aug 12 '10 15:08

Brett


Video Answer


1 Answers

You have a decompressing GZipStream, so you need to read data from it. The easiest way is to wrap the GZipStream with a StreamReader which has a ReadToEnd method returning a string.

Something like:

string res;
using (var decompress = new GZipStream(inFile, CompressionMode.Decompress))
using (var sr = new StreamReader(decompress)) {
  res = sr.ReadToEnd();
}

(using statements ensure that inFile is closed and any other resources are freed.)

NB this does assume that inFile contains text encoded UTF-8 or UTF-16. Binary content or other text encoding could cause problems (you can override the encoding with a different StreamReader constructor).

like image 122
Richard Avatar answered Sep 20 '22 03:09

Richard