使用C#解压缩.gz文件

Ed.*_*Ed. 17 c#

我有一个名为ZippedXmls.tar.gz的tarred gunzip文件,里面有2个xmls.我需要以编程方式解压缩此文件,输出应该是2 xmls复制在一个文件夹中.

我如何使用C#实现这一目标?

Cha*_*lts 35

我使用.Net的内置GZipStream压缩字节流,它工作得很好.我怀疑你的文件在被gzip压缩之前首先被tar.

您已经要求代码,所以这里有一个示例,假设您有一个压缩的文件:

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();
Run Code Online (Sandbox Code Playgroud)

编辑:

你已经改变了你的问题,以便文件是一个tar.gz文件 - 从技术上讲,我的答案不适用于你的情况,但我会留给那些想要处理.gz文件的人.


Ste*_*gli 7

sharpziplib应该能够做到这一点