Unzipping a .gz file using C#

后端 未结 3 1578
醉话见心
醉话见心 2020-11-29 10:00

I have a tarred gunzip file called ZippedXmls.tar.gz which has 2 xmls inside it. I need to programmatically unzip this file and the output should be 2 xmls copied in a folde

3条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-11-29 10:38

    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.

提交回复
热议问题